Git init
[external/ifupdown.git] / _darcs / current / Makefile
1 CFLAGS := -Wall -W -g -O2 -D'IFUPDOWN_VERSION="0.6.5"'
2 CC := gcc
3
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
8
9 OBJ := main.o addrfam.o execute.o config.o \
10         $(patsubst %.defn,%.o,$(DEFNFILES)) archlinux.o
11
12 MAN := $(patsubst %.defn,%.man,$(DEFNFILES))
13
14 default : executables
15 all : executables docs
16
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
19
20 .PHONY : executables 
21 .PHONY : clean clobber
22
23 install :
24         install -m 0755 -d     ${BASEDIR}/sbin
25         install -m 0755 ifup   ${BASEDIR}/sbin
26         ln ${BASEDIR}/sbin/ifup ${BASEDIR}/sbin/ifdown  
27
28 clean :
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}
34
35 clobber : clean
36         rm -f ifupdown.tex $(PERLFILES) $(CFILES) $(HFILES) $(DEFNFILES)
37
38 distclean : clobber
39         rm -f makecdep.sh makenwdep.sh Makefile
40 ifup: $(OBJ)
41         $(CC) $(CFLAGS) $^ $(LDFLAGS) $(OUTPUT_OPTION)
42
43 ifdown: ifup
44         ln -sf ifup ifdown
45 interfaces.5: interfaces.5.pre $(MAN)
46         sed $(foreach man,$(MAN),-e '/^##ADDRESSFAM##$$/r $(man)') \
47              -e '/^##ADDRESSFAM##$$/d' < $< > $@        
48
49 ifdown.8: ifup.8
50         ln -sf $< $@
51
52 %.5.ps: %.5
53         groff -mandoc -Tps $< > $@
54 %.8.ps: %.8
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
59 %.tex : %.nw
60         noweave -delay -index -latex $< >$@
61
62 %.bbl : %.tex biblio.bib
63         latex $<
64         bibtex $(basename $<)
65
66 %.dvi : %.tex %.bbl
67         latex $<
68         latex $<
69
70 %.pdf : %.tex %.bbl
71         pdflatex $<
72         pdflatex $<
73
74 %.ps : %.dvi
75         dvips -o $@ $<
76
77 %.gz : %
78         gzip --best --stdout $< >$@
79 %.eps : %.dia
80         dia --nosplash -e $@ $<
81
82 %.pdf : %.eps
83         gs -q -sDEVICE=pdfwrite -dNOPAUSE -sOutputFile=$@ - < $<
84 %.d: %.nw makenwdep.sh
85         ./makenwdep.sh $< > $@
86 %.d: %.c makecdep.sh
87         ./makecdep.sh $< > $@
88 %.c : %.defn defn2c.pl
89         ./defn2c.pl $< > $@
90 %.man: %.defn defn2man.pl
91         ./defn2man.pl $< > $@
92
93 include-deps := YES
94 ifneq "" "$(filter %clean,$(MAKECMDGOALS))"
95 include-deps := NO
96 endif
97 ifeq "clobber" "$(MAKECMDGOALS)"
98 include-deps := NO
99 endif
100 ifeq "$(strip $(include-deps))" "YES"
101 include ifupdown.d
102 endif