stagit

My personal build of stagit

Makefile (1931B)

 1 .POSIX:
 2 
 3 NAME = stagit
 4 VERSION = 0.9.5
 5 
 6 # paths
 7 PREFIX = /usr/local
 8 MANPREFIX = ${PREFIX}/man
 9 DOCPREFIX = ${PREFIX}/share/doc/${NAME}
10 
11 LIBGIT_INC = -I/usr/local/include
12 LIBGIT_LIB = -L/usr/local/lib -lgit2 -lcmark
13 
14 # use system flags.
15 STAGIT_CFLAGS = ${LIBGIT_INC} ${LIBCMARK_INC} ${CFLAGS}
16 STAGIT_LDFLAGS = ${LIBGIT_LIB} ${LDFLAGS}
17 STAGIT_CPPFLAGS = -D_XOPEN_SOURCE=700 -D_DEFAULT_SOURCE -D_BSD_SOURCE
18 
19 SRC = \
20 	stagit.c\
21 	stagit-index.c
22 COMPATSRC = \
23 	reallocarray.c\
24 	strlcat.c\
25 	strlcpy.c
26 BIN = \
27 	stagit\
28 	stagit-index
29 MAN1 = \
30 	stagit.1\
31 	stagit-index.1
32 DOC = \
33 	LICENSE\
34 	README.md
35 HDR = compat.h
36 
37 COMPATOBJ = \
38 	reallocarray.o\
39 	strlcat.o\
40 	strlcpy.o\
41 
42 OBJ = ${SRC:.c=.o} ${COMPATOBJ}
43 
44 .PHONY: ${BIN}
45 
46 all: ${BIN}
47 
48 .o:
49 	${CC} -o $@ ${LDFLAGS}
50 
51 .c.o:
52 	${CC} -o $@ -c $< ${STAGIT_CFLAGS} ${STAGIT_CPPFLAGS}
53 
54 dist:
55 	rm -rf ${NAME}-${VERSION}
56 	mkdir -p ${NAME}-${VERSION}
57 	cp -f ${MAN1} ${HDR} ${SRC} ${COMPATSRC} ${DOC} Makefile ${NAME}-${VERSION}
58 	# make tarball
59 	tar -cf - ${NAME}-${VERSION} | \
60 		gzip -c > ${NAME}-${VERSION}.tar.gz
61 	rm -rf ${NAME}-${VERSION}
62 
63 ${OBJ}: ${HDR}
64 
65 stagit: stagit.o ${COMPATOBJ}
66 	${CC} -o $@ stagit.o ${COMPATOBJ} ${STAGIT_LDFLAGS}
67 
68 stagit-index: stagit-index.o ${COMPATOBJ}
69 	${CC} -o $@ stagit-index.o ${COMPATOBJ} ${STAGIT_LDFLAGS}
70 
71 clean:
72 	rm -f ${BIN} ${OBJ} ${NAME}-${VERSION}.tar.gz
73 
74 install: all
75 	# installing executable files.
76 	mkdir -p '$(DESTDIR)$(PREFIX)/bin'
77 	install -g 0 -o 0 -m 755 ${BIN} '$(DESTDIR)$(PREFIX)/bin'
78 	
79 	# installing manual pages.
80 	mkdir -p '$(DESTDIR)$(MANPREFIX)/man1'
81 	install -g 0 -o 0 -m 644 ${MAN1} '$(DESTDIR)$(MANPREFIX)/man1'
82 
83 uninstall:
84 	# removing executable files.
85 	for f in ${BIN}; do rm -f ${DESTDIR}${PREFIX}/bin/$$f; done
86 	# removing README
87 	rm -f \
88 		${DESTDIR}${DOCPREFIX}/README.md
89 	-rmdir ${DESTDIR}${DOCPREFIX}
90 	# removing manual pages.
91 	for m in ${MAN1}; do rm -f ${DESTDIR}${MANPREFIX}/man1/$$m; done
92 
93 .PHONY: all clean dist install uninstall