1 ## Makefile for miscellaneous stuff
3 ## No proper build system here. Just kludgy hacks.
8 BINSCRIPTS
= cdb-assign cdb-list check-sender unfwd splitconf z
9 SBINSCRIPTS
= shadowfix
10 SCRIPTS
= $(BINSCRIPTS
) $(SBINSCRIPTS
)
11 BINPROGS
= not cdb-probe cdb-check-domain gorp locking if-mtu pause
12 SBINPROGS
= qmail-checkspam
13 PROGS
= $(BINPROGS
) $(SBINPROGS
)
17 not
.1 z
.1 cdb-assign
.1 cdb-list
.1 cdb-probe
.1 cdb-check-domain
.1 \
18 gorp
.1 unfwd
.1 splitconf
.1 locking
.1 if-mtu
.1 pause
.1
20 DISTMAN8
= qmail-checkspam
.8
21 MAN8
= $(DISTMAN8
) shadowfix
.8
22 BUILDFILES
= shadowfix
.8
24 not.c cdb-probe.c cdb-check-domain.c gorp.c locking.c if-mtu.c \
25 qmail-checkspam.c xtitle.c pause.c
29 CFLAGS
= -O2
-g
-pedantic
-Wall
-DVERSION
=\"$(VERSION
)\"
30 LINK
= $(LD
) $(LDFLAGS
) -o
$@
$^
34 bindir = $(prefix)/bin
35 sbindir
= $(prefix)/sbin
36 mandir = $(prefix)/man
37 man1dir = $(mandir)/man1
38 man8dir = $(mandir)/man8
39 libdir = $(prefix)/lib
40 perllibdir
= $(libdir)/site_perl
42 all: $(BUILDFILES
) $(PROGS
) $(LIBS
)
45 [ -d
$(INST
)$(libdir) ] ||
install -d
$(INST
)$(libdir)
46 install -m644
$(LIBS
) $(INST
)$(libdir)
47 [ -d
$(INST
)$(perllibdir
) ] ||
install -d
$(INST
)$(perllibdir
)
48 install -m644
$(PERLLIBS
) $(INST
)$(perllibdir
)
49 [ -d
$(INST
)$(bindir) ] ||
install -d
$(INST
)$(bindir)
50 install -m775
$(BINPROGS
) $(BINSCRIPTS
) $(INST
)$(bindir)
51 [ -d
$(INST
)$(sbindir
) ] ||
install -d
$(INST
)$(sbindir
)
52 install -m775
$(SBINPROGS
) $(SBINSCRIPTS
) $(INST
)$(sbindir
)
53 [ -d
$(INST
)$(man1dir) ] ||
install -d
$(INST
)$(man1dir)
54 install -m644
$(MAN1
) $(INST
)$(man1dir)
55 [ -d
$(INST
)$(man8dir) ] ||
install -d
$(INST
)$(man8dir)
56 install -m644
$(MAN8
) $(INST
)$(man8dir)
59 for i in
$(LIBS
); do
rm -f
$(INST
)$(libdir)/$$i; done
60 for i in
$(PERLLIBS
); do
rm -f
$(INST
)$(perllibdir
)/$$i; done
61 for i in
$(BINPROGS
) $(BINSCRIPTS
); do \
62 rm -f
$(INST
)$(bindir)/$$i; done
63 for i in
$(SBINPROGS
) $(SBINSCRIPTS
); do \
64 rm -f
$(INST
)$(sbindir
)/$$i; done
65 for i in
$(MAN1
); do
rm -f
$(INST
)$(man1dir)/$$i; done
66 for i in
$(MAN8
); do
rm -f
$(INST
)$(man8dir)/$$i; done
68 qmail-checkspam
: qmail-checkspam.o
71 cdb-probe
: cdb-probe.o
74 cdb-check-domain
: cdb-check-domain.o
81 $(CC
) $(CFLAGS
) -c
-fpic
-I
/usr
/include/bash
-DBASH_BUILTIN
-o
$@
$^
86 $(LINK
) -lcatacomb
-lmLib
97 shadowfix
.8: shadowfix
98 pod2man
--section
8 shadowfix
>shadowfix
.8.new
99 mv shadowfix
.8.new shadowfix
.8
101 clean:; rm -f
*.o
*~
$(PROGS
) $(OTHERS
)
103 DISTDIR
= $(PACKAGE
)-$(VERSION
)
106 $(SCRIPTS
) $(DISTMAN1
) $(DISTMAN8
) $(SOURCES
) $(PERLLIBS
) \
107 debian
/changelog debian
/control debian
/copyright \
108 debian
/rules debian
/inst
109 distdir
: $(DISTFILES
)
111 mkdir
$(DISTDIR
) $(DISTDIR
)/debian
112 for i in
$(DISTFILES
); do \
116 up
=`echo $$dir | sed 's:[^/]\+:..:g'`; \
117 mkdir
-p
$(DISTDIR
)/$$dir;; \
120 ln
-s ..
/$$up/$$i $(DISTDIR
)/$$i; \
123 tar chofz
$(INST
)$(DISTDIR
).
tar.gz
$(DISTDIR
)
127 @echo
"*** Packing..."
129 @echo
"*** Unpacking..."
130 tar xfz
$(DISTDIR
).
tar.gz
131 @echo
"*** Test building..."
136 $(MAKE
) install INST
=inst
; \
138 @echo
"*** Tidying up..."
142 .PHONY
: all clean install dist distdir disttar