Blob


1 .PHONY: all clean distclean install
3 VERSION = 0.6
4 PROG = lstun
5 DISTNAME = ${PROG}-${VERSION}
7 HEADERS = log.h \
8 lstun.h
10 SOURCES = compats.c \
11 log.c \
12 lstun.c \
13 splice.c \
14 splice_bev.c \
15 tests.c
17 OBJS = ${SOURCES:.c=.o}
19 DISTFILES = CHANGES \
20 LICENSE \
21 Makefile \
22 README.md \
23 configure \
24 lstun.1 \
25 ${HEADERS} \
26 ${SOURCES}
28 all: ${PROG}
30 Makefile.configure config.h: configure tests.c
31 @echo "$@ is out of date; please run ./configure"
32 @exit 1
34 include Makefile.configure
36 # -- targets --
38 ${PROG}: ${OBJS}
39 ${CC} -o $@ ${OBJS} ${LDFLAGS} ${LDADD}
41 clean:
42 rm -f ${OBJS} ${OBJS:.o=.d} ${PROG}
44 distclean: clean
45 rm -f Makefile.configure config.h config.h.old config.log config.log.old
47 install: ${PROG}
48 mkdir -p ${DESTDIR}${BINDIR}
49 mkdir -p ${DESTDIR}${MANDIR}/man1
50 ${INSTALL_PROGRAM} ${PROG} ${DESTDIR}${BINDIR}
51 ${INSTALL_MAN} lstun.1 ${DESTDIR}${MANDIR}/man1/${PROG.1}
53 install-local: ${PROG}
54 mkdir -p ${HOME}/bin
55 ${INSTALL_PROGRAM} ${PROG} ${HOME}/bin
57 uninstall:
58 rm ${DESTDIR}${BINDIR}/${PROG}
59 rm ${DESTDIR}${MANDIR}/man1/${PROG}.1
61 # --- maintainer targets ---
63 dist: ${DISTNAME}.sha256
65 ${DISTNAME}.sha256: ${DISTNAME}.tar.gz
66 sha256 ${DISTNAME}.tar.gz > $@
68 ${DISTNAME}.tar.gz: ${DISTFILES}
69 mkdir -p .dist/${DISTNAME}
70 ${INSTALL} -m 0644 ${DISTFILES} .dist/${DISTNAME}
71 chmod 755 .dist/${DISTNAME}/configure
72 cd .dist && tar zcf ../$@ ${DISTNAME}
73 rm -rf .dist
75 # -- dependency management ---
77 # these .d files are produced during the first build if the compiler
78 # supports it.
80 -include compats.d
81 -include log.d
82 -include lstun.d
83 -include splice.d
84 -include splice_bev.d