add Makefile and config.mk
A · Makefile +72, -0 1@@ -0,0 +1,72 @@
2+include config.mk
3+
4+NAME = urmoms
5+VERSION = 0.1
6+SRC = \
7+ urmoms.c
8+BIN = \
9+ urmoms
10+MAN1 = \
11+ urmoms.1
12+DOC = \
13+ LICENSE\
14+ README\
15+ TODO
16+HDR =
17+
18+OBJ = ${SRC:.c=.o}
19+
20+all: $(BIN)
21+
22+.c.o:
23+ ${CC} -c ${CFLAGS} $<
24+
25+dist: $(BIN)
26+ rm -rf release/${VERSION}
27+ mkdir -p release/${VERSION}
28+ cp -f ${MAN1} ${HDR} ${SCRIPTS} ${SRC} ${COMPATSRC} ${DOC} \
29+ Makefile config.mk \
30+ logo.png style.css \
31+ release/${VERSION}/
32+ # make tarball
33+ rm -f urmoms-${VERSION}.tar.gz
34+ (cd release/${VERSION}; \
35+ tar -czf ../../urmoms-${VERSION}.tar.gz .)
36+
37+${OBJ}: config.mk ${HDR}
38+
39+urmoms: urmoms.o
40+ ${CC} -o $@ urmoms.o ${LDFLAGS}
41+
42+clean:
43+ rm -f ${BIN} ${OBJ}
44+
45+install: all
46+ # installing executable files.
47+ mkdir -p ${DESTDIR}${PREFIX}/bin
48+ cp -f ${BIN} ${SCRIPTS} ${DESTDIR}${PREFIX}/bin
49+ for f in $(BIN) $(SCRIPTS); do chmod 755 ${DESTDIR}${PREFIX}/bin/$$f; done
50+ # installing example files.
51+ mkdir -p ${DESTDIR}${PREFIX}/share/${NAME}
52+ cp -f style.css\
53+ logo.png\
54+ README\
55+ ${DESTDIR}${PREFIX}/share/${NAME}
56+ # installing manual pages.
57+ mkdir -p ${DESTDIR}${MANPREFIX}/man1
58+ cp -f ${MAN1} ${DESTDIR}${MANPREFIX}/man1
59+ for m in $(MAN1); do chmod 644 ${DESTDIR}${MANPREFIX}/man1/$$m; done
60+
61+uninstall:
62+ # removing executable files and scripts.
63+ for f in $(BIN) $(SCRIPTS); do rm -f ${DESTDIR}${PREFIX}/bin/$$f; done
64+ # removing example files.
65+ rm -f \
66+ ${DESTDIR}${PREFIX}/share/${NAME}/style.css\
67+ ${DESTDIR}${PREFIX}/share/${NAME}/logo.png\
68+ ${DESTDIR}${PREFIX}/share/${NAME}/README
69+ -rmdir ${DESTDIR}${PREFIX}/share/${NAME}
70+ # removing manual pages.
71+ for m in $(MAN1); do rm -f ${DESTDIR}${MANPREFIX}/man1/$$m; done
72+
73+.PHONY: all clean dist install uninstall
A · config.mk
+30, -0 1@@ -0,0 +1,30 @@
2+# customize below to fit your system
3+
4+# paths
5+PREFIX = /usr/local
6+MANPREFIX = ${PREFIX}/share/man
7+
8+GITINC = /usr/local/include
9+GITLIB = /usr/local/lib
10+
11+# includes and libs
12+INCS = -I${GITINC}
13+LIBS = -L${GITLIB} -lgit2 -lc
14+
15+# debug
16+CFLAGS = -fstack-protector-all -O0 -g -std=c99 -Wall -Wextra -pedantic \
17+ -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -D_BSD_SOURCE ${INCS}
18+LDFLAGS = ${LIBS}
19+
20+# optimized
21+#CFLAGS = -O2 -std=c99 \
22+# -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -D_BSD_SOURCE ${INCS}
23+#LDFLAGS = -s ${LIBS}
24+
25+# optimized static
26+#CFLAGS = -static -O2 -std=c99 \
27+# -D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -D_BSD_SOURCE ${INCS}
28+#LDFLAGS = -static -s ${LIBS}
29+
30+# compiler and linker
31+#CC = cc