Blob


1 .PHONY: all clean distclean install
3 VERSION = 0.4
4 PROG = lstun
5 DISTNAME = ${PROG}-${VERSION}
7 HEADERS = log.h
9 SOURCES = compats.c \
10 log.c \
11 lstun.c \
12 tests.c
14 OBJS = ${SOURCES:.c=.o}
16 DISTFILES = CHANGES \
17 LICENSE \
18 Makefile \
19 README.md \
20 configure \
21 lstun.1 \
22 ${HEADERS} \
23 ${SOURCES}
25 all: ${PROG}
27 Makefile.configure config.h: configure tests.c
28 @echo "$@ is out of date; please run ./configure"
29 @exit 1
31 include Makefile.configure
33 # -- targets --
35 ${PROG}: ${OBJS}
36 ${CC} -o $@ ${OBJS} ${LDFLAGS} ${LDADD}
38 clean:
39 rm -f ${OBJS} ${OBJS:.o=.d} ${PROG}
41 distclean: clean
42 rm -f Makefile.configure config.h config.h.old config.log config.log.old
44 install: ${PROG}
45 mkdir -p ${DESTDIR}${BINDIR}
46 mkdir -p ${DESTDIR}${MANDIR}/man1
47 ${INSTALL_PROGRAM} ${PROG} ${DESTDIR}${BINDIR}
48 ${INSTALL_MAN} lstun.1 ${DESTDIR}${MANDIR}/man1/${PROG.1}
50 install-local: ${PROG}
51 mkdir -p ${HOME}/bin
52 ${INSTALL_PROGRAM} ${PROG} ${HOME}/bin
54 uninstall:
55 rm ${DESTDIR}${BINDIR}/${PROG}
56 rm ${DESTDIR}${MANDIR}/man1/${PROG}.1
58 # --- maintainer targets ---
60 dist: ${DISTNAME}.sha256
62 ${DISTNAME}.sha256: ${DISTNAME}.tar.gz
63 sha256 ${DISTNAME}.tar.gz > $@
65 ${DISTNAME}.tar.gz: ${DISTFILES}
66 mkdir -p .dist/${DISTNAME}
67 ${INSTALL} -m 0644 ${DISTFILES} .dist/${DISTNAME}
68 chmod 755 .dist/${DISTNAME}/configure
69 cd .dist && tar zcf ../$@ ${DISTNAME}
70 rm -rf .dist
72 # -- dependency management ---
74 # these .d files are produced during the first build if the compiler
75 # supports it.
77 -include log.d
78 -include lstun.d