summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile48
1 files changed, 48 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..c0fb54c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,48 @@
+.POSIX:
+.SUFFIXES:
+
+PREFIX = /usr/local
+MANPREFIX = ${PREFIX}/man
+
+CFLAGS = -std=c99 -Wall -Wextra -Wpedantic -pedantic-errors
+CFLAGS_DEBUG = -g3 -O0
+LDLIBS = -lm -lncurses
+
+SRC = fun_menu.c cycle.c richwin.c stack.c utils.c
+OBJ = ${SRC:.c=.o}
+OBJ_DEBUG = ${SRC:.c=.odebug}
+
+all: fun_menu
+
+fun_menu: ${OBJ}
+ ${CC} ${LDFLAGS} -o $@ ${CFLAGS} ${OBJ} ${LDLIBS}
+
+debug: ${OBJ_DEBUG}
+ ${CC} ${LDFLAGS} -o fun_menu.debug ${CFLAGS} ${CFLAGS_DEBUG} ${OBJ_DEBUG} \
+ ${LDLIBS}
+
+.SUFFIXES: .c .o .odebug
+.c.o:
+ ${CC} -c ${CFLAGS} $<
+.c.odebug:
+ ${CC} -c -o ${<:.c=.odebug} ${CFLAGS} ${DEBUG} $<
+
+deps:
+ # TODO
+
+install: all
+ mkdir -p ${DESTDIR}${PREFIX}/bin
+ cp -f fun_menu ${DESTDIR}${PREFIX}/bin
+ chmod 755 ${DESTDIR}${PREFIX}/bin/fun_menu
+ cp fun_menu.1 ${DESTDIR}${MANPREFIX}/man1
+ mkdir -p ${DESTDIR}${MANPREFIX}/man1
+ chmod 644 ${DESTDIR}${MANPREFIX}/man1/fun_menu.1.gz
+
+uninstall:
+ rm -f ${DESTDIR}${PREFIX}/bin/fun_menu\
+ ${DESTDIR}${MANPREFIX}/man1/dwm.1
+
+clean:
+ rm -fr fun_menu fun_menu.debug ${OBJ} ${OBJ_DEBUG}
+
+.PHONY: all install uninstall debug clean