stagit

add Makefile and config.mk

Hiltjo Posthuma contact@arjunchoudhary.com

commit: 92dd956 parent: 1368fac
2 files changed, 102 insertions(+), 0 deletions(-)
AMakefile+72-0
Aconfig.mk+30-0
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