ctucx.git: stagit

ctucx' stagit fork

commit b069cb6fd50d180cd6afb272c0016a6715f126d9
parent 8b6a646b7a654488afc9f5969d977de942bbb030
Author: Hiltjo Posthuma <hiltjo@codemadness.org>
Date: Sat, 5 Dec 2015 21:07:52 +0100

add Makefile and config.mk
2 files changed, 102 insertions(+), 0 deletions(-)
A
Makefile
|
72
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A
config.mk
|
30
++++++++++++++++++++++++++++++
diff --git a/Makefile b/Makefile
@@ -0,0 +1,72 @@
+include config.mk
+
+NAME = urmoms
+VERSION = 0.1
+SRC = \
+	urmoms.c
+BIN = \
+	urmoms
+MAN1 = \
+	urmoms.1
+DOC = \
+	LICENSE\
+	README\
+	TODO
+HDR = 
+
+OBJ = ${SRC:.c=.o}
+
+all: $(BIN)
+
+.c.o:
+	${CC} -c ${CFLAGS} $<
+
+dist: $(BIN)
+	rm -rf release/${VERSION}
+	mkdir -p release/${VERSION}
+	cp -f ${MAN1} ${HDR} ${SCRIPTS} ${SRC} ${COMPATSRC} ${DOC} \
+		Makefile config.mk \
+		logo.png style.css \
+		release/${VERSION}/
+	# make tarball
+	rm -f urmoms-${VERSION}.tar.gz
+	(cd release/${VERSION}; \
+	tar -czf ../../urmoms-${VERSION}.tar.gz .)
+
+${OBJ}: config.mk ${HDR}
+
+urmoms: urmoms.o
+	${CC} -o $@ urmoms.o ${LDFLAGS}
+
+clean:
+	rm -f ${BIN} ${OBJ}
+
+install: all
+	# installing executable files.
+	mkdir -p ${DESTDIR}${PREFIX}/bin
+	cp -f ${BIN} ${SCRIPTS} ${DESTDIR}${PREFIX}/bin
+	for f in $(BIN) $(SCRIPTS); do chmod 755 ${DESTDIR}${PREFIX}/bin/$$f; done
+	# installing example files.
+	mkdir -p ${DESTDIR}${PREFIX}/share/${NAME}
+	cp -f style.css\
+		logo.png\
+		README\
+		${DESTDIR}${PREFIX}/share/${NAME}
+	# installing manual pages.
+	mkdir -p ${DESTDIR}${MANPREFIX}/man1
+	cp -f ${MAN1} ${DESTDIR}${MANPREFIX}/man1
+	for m in $(MAN1); do chmod 644 ${DESTDIR}${MANPREFIX}/man1/$$m; done
+
+uninstall:
+	# removing executable files and scripts.
+	for f in $(BIN) $(SCRIPTS); do rm -f ${DESTDIR}${PREFIX}/bin/$$f; done
+	# removing example files.
+	rm -f \
+		${DESTDIR}${PREFIX}/share/${NAME}/style.css\
+		${DESTDIR}${PREFIX}/share/${NAME}/logo.png\
+		${DESTDIR}${PREFIX}/share/${NAME}/README
+	-rmdir ${DESTDIR}${PREFIX}/share/${NAME}
+	# removing manual pages.
+	for m in $(MAN1); do rm -f ${DESTDIR}${MANPREFIX}/man1/$$m; done
+
+.PHONY: all clean dist install uninstall
diff --git a/config.mk b/config.mk
@@ -0,0 +1,30 @@
+# customize below to fit your system
+
+# paths
+PREFIX = /usr/local
+MANPREFIX = ${PREFIX}/share/man
+
+GITINC = /usr/local/include
+GITLIB = /usr/local/lib
+
+# includes and libs
+INCS = -I${GITINC}
+LIBS = -L${GITLIB} -lgit2 -lc
+
+# debug
+CFLAGS = -fstack-protector-all -O0 -g -std=c99 -Wall -Wextra -pedantic \
+	-D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -D_BSD_SOURCE ${INCS}
+LDFLAGS = ${LIBS}
+
+# optimized
+#CFLAGS = -O2 -std=c99 \
+#	-D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -D_BSD_SOURCE ${INCS}
+#LDFLAGS = -s ${LIBS}
+
+# optimized static
+#CFLAGS = -static -O2 -std=c99 \
+#	-D_POSIX_C_SOURCE=200809L -D_XOPEN_SOURCE=700 -D_BSD_SOURCE ${INCS}
+#LDFLAGS = -static -s ${LIBS}
+
+# compiler and linker
+#CC = cc