4
|
1 # by meillo@marmaro.de
|
|
2
|
|
3 NAME=resize-gd
|
|
4
|
|
5 # extracts VERSION from the sources
|
|
6 VERSION=$(shell cat *.c | sed -n '/define[ \t]*VERSION/ s/.*"\([^"]*\)".*/\1/p' )
|
|
7 NV=${NAME}-${VERSION}
|
|
8
|
|
9 DOCS =
|
|
10
|
|
11 # paths
|
|
12 PREFIX = /usr/local
|
|
13 BINDIR = ${PREFIX}/bin
|
|
14 MANDIR = ${PREFIX}/share/man
|
|
15
|
|
16 # compile env
|
|
17 CC = gcc
|
|
18 LD = ${CC}
|
|
19 DEBUG = -g
|
|
20 LIBS = -lgd
|
|
21 CFLAGS = -Wall -pedantic -c ${DEBUG}
|
|
22 LDFLAGS = -Wall -pedantic ${DEBUG} $(LIBS)
|
|
23
|
|
24 # files
|
|
25 SRC=resize-gd.c
|
|
26 OBJ=$(SRC:.c=.o)
|
|
27 DEP =
|
|
28
|
|
29
|
|
30
|
|
31 .PHONY: all
|
|
32 all: options build
|
|
33
|
|
34
|
|
35 .PHONY: options
|
|
36 options:
|
|
37 @echo build options:
|
|
38 @echo "CC = ${CC}"
|
|
39 @echo "LD = ${LD}"
|
|
40 @echo "CFLAGS = ${CFLAGS}"
|
|
41 @echo "LDFLAGS = ${LDFLAGS}"
|
|
42 @echo
|
|
43
|
|
44
|
|
45 .PHONY: build
|
|
46 build: options ${NAME}
|
|
47
|
|
48
|
|
49 ${NAME}: $(OBJ)
|
|
50 $(CC) $(LDFLAGS) $(OBJ) -o $@
|
|
51
|
|
52
|
|
53 ${OBJ}: ${DEP}
|
|
54
|
|
55
|
|
56 .PHONY: strip
|
|
57 strip: ${NAME}
|
|
58 @echo stripping ${NAME}
|
|
59 @strip ${NAME}
|
|
60
|
|
61
|
|
62 .PHONY: dist
|
|
63 dist: build changelog
|
|
64 @echo "generating tarball"
|
|
65 @mkdir -p ${NV}
|
|
66 @cp -rf ${SRC} ${DEP} ${NAME}.1 Makefile ${DOCS} ${NV}
|
|
67 @tar -czf ${NV}.tar.gz ${NV}
|
|
68 @rm -rf ${NV}
|
|
69
|
|
70
|
|
71 .PHONY: changelog
|
|
72 changelog:
|
|
73 @echo generating changelog from mercurial log
|
|
74 @hg log -v --style changelog > ChangeLog
|
|
75
|
|
76
|
|
77 .PHONY: install
|
|
78 install: build strip
|
|
79 @echo installing executable file to ${DESTDIR}${BINDIR}
|
|
80 @mkdir -p ${DESTDIR}${BINDIR}
|
|
81 @cp ${NAME} ${DESTDIR}${BINDIR}
|
|
82 @chmod 755 ${DESTDIR}${BINDIR}/${NAME}
|
|
83 @echo installing manual page to ${DESTDIR}${MANDIR}/man1
|
|
84 @mkdir -p ${DESTDIR}${MANDIR}/man1
|
|
85 @cp ${NAME}.1 ${DESTDIR}${MANDIR}/man1/${NAME}.1
|
|
86 @chmod 644 ${DESTDIR}${MANDIR}/man1/${NAME}.1
|
|
87
|
|
88
|
|
89 .PHONY: uninstall
|
|
90 uninstall:
|
|
91 @echo removing executable file from ${DESTDIR}${BINDIR}
|
|
92 @rm -f ${DESTDIR}${BINDIR}/${NAME}
|
|
93 @echo removing manual page from ${DESTDIR}${MANDIR}/man1
|
|
94 @rm -f ${DESTDIR}${MANDIR}/man1/${NAME}.1
|
|
95
|
|
96
|
|
97 .PHONY: clean
|
|
98 clean:
|
|
99 rm -f *.o
|
|
100
|
|
101
|
|
102 .PHONY: realclean
|
|
103 realclean: clean
|
|
104 rm -f ${NAME} ChangeLog
|