1
CFLAGS := -Wall -W -g -O2 -D'IFUPDOWN_VERSION="0.6.4"'
4
CFILES := addrfam.c execute.c config.c main.c archlinux.c
5
HFILES := header.h archlinux.h
6
PERL := defn2c.pl defn2man.pl
7
DEFNFILES := inet.defn ipx.defn inet6.defn
9
OBJ := main.o addrfam.o execute.o config.o \
10
$(patsubst %.defn,%.o,$(DEFNFILES)) archlinux.o
12
MAN := $(patsubst %.defn,%.man,$(DEFNFILES))
15
all : executables docs
17
executables : ifup ifdown ifup.8 ifdown.8 interfaces.5
18
docs : ifupdown.ps.gz ifup.8.ps.gz interfaces.5.ps.gz ifupdown.pdf
21
.PHONY : clean clobber
24
install -m 0755 -d ${BASEDIR}/sbin
25
install -m 0755 ifup ${BASEDIR}/sbin
26
ln ${BASEDIR}/sbin/ifup ${BASEDIR}/sbin/ifdown
29
rm -f *.aux *.toc *.log *.bbl *.blg *.ps *.eps
30
rm -f *.o *.d $(patsubst %.defn,%.c,$(DEFNFILES)) *~
31
rm -f $(patsubst %.defn,%.man,$(DEFNFILES))
32
rm -f ifup ifdown interfaces.5 ifdown.8
33
rm -f ifupdown.dvi *.ps{,.gz} ifupdown.pdf
36
rm -f ifupdown.tex $(PERL) $(CFILES) $(HFILES) $(DEFNFILES)
39
rm -f makecdep.sh makenwdep.sh Makefile
41
$(CC) $(CFLAGS) -o ifup $^
45
interfaces.5: interfaces.5.pre $(MAN)
46
LINE=$$(grep -n '^##ADDRESSFAM##$$' $< | sed 's/:.*//g'); \
49
head -$$(($$LINE - 1)) $<; \
51
tail -$$(($$WC - $$LINE)) $<; \
58
groff -mandoc -Tps $< > $@
60
groff -mandoc -Tps $< > $@
61
ifupdown.ps: modules.eps execution.eps
62
ifupdown.pdf: modules.pdf execution.pdf
64
noweave -delay -index -latex $< >$@
66
%.bbl : %.tex biblio.bib
82
gzip --best --stdout $< >$@
87
gs -q -sDEVICE=pdfwrite -dNOPAUSE -sOutputFile=$@ - < $<
88
%.d: %.nw makenwdep.sh
89
./makenwdep.sh $< > $@
92
%.c : %.defn defn2c.pl
94
%.man: %.defn defn2man.pl