1 CFLAGS := -Wall -W -g -O2 -D'IFUPDOWN_VERSION="0.6.5"'
4 CFILES := addrfam.c execute.c config.c main.c archlinux.c
5 HFILES := header.h archlinux.h
6 PERLFILES := 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 *.pdf
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}
36 rm -f ifupdown.tex $(PERLFILES) $(CFILES) $(HFILES) $(DEFNFILES)
39 rm -f makecdep.sh makenwdep.sh Makefile
41 $(CC) $(CFLAGS) $^ $(LDFLAGS) $(OUTPUT_OPTION)
45 interfaces.5: interfaces.5.pre $(MAN)
46 sed $(foreach man,$(MAN),-e '/^##ADDRESSFAM##$$/r $(man)') \
47 -e '/^##ADDRESSFAM##$$/d' < $< > $@
53 groff -mandoc -Tps $< > $@
55 groff -mandoc -Tps $< > $@
56 ifupdown.dvi: modules.eps execution.eps
57 ifupdown.ps: modules.eps execution.eps
58 ifupdown.pdf: modules.pdf execution.pdf
60 noweave -delay -index -latex $< >$@
62 %.bbl : %.tex biblio.bib
78 gzip --best --stdout $< >$@
80 dia --nosplash -e $@ $<
83 gs -q -sDEVICE=pdfwrite -dNOPAUSE -sOutputFile=$@ - < $<
84 %.d: %.nw makenwdep.sh
85 ./makenwdep.sh $< > $@
88 %.c : %.defn defn2c.pl
90 %.man: %.defn defn2man.pl
94 ifneq "" "$(filter %clean,$(MAKECMDGOALS))"
97 ifeq "clobber" "$(MAKECMDGOALS)"
100 ifeq "$(strip $(include-deps))" "YES"