2 CFLAGS ?
= -Wall
-W
-Wno-unused-parameter
-g
-O2
3 ARCH
:= $(shell dpkg-architecture
-qDEB_HOST_ARCH_OS
)
7 CFLAGS
+= -std
=c99
-D_DEFAULT_SOURCE
8 CFLAGS
+= -D
'IFUPDOWN_VERSION="$(VERSION)"'
10 DEFNFILES
:= inet.defn ipx.defn inet6.defn can.defn
12 OBJ
:= main.o addrfam.o execute.o config.o \
13 $(patsubst %.defn
,%.o
,$(DEFNFILES
)) archcommon.o arch
$(ARCH
).o meta.o link.o
15 MAN
:= $(patsubst %.defn
,%.man
,$(DEFNFILES
))
17 DEFNFILES
+= meta.defn link.defn
19 all : ifup ifdown ifquery ifup
.8 ifdown
.8 ifquery
.8 interfaces
.5
21 .PHONY
: all install clean distclean check
22 .SECONDARY
: link.c ipx.c can.c meta.c inet6.c inet.c
25 install -m
0755 -d
${BASEDIR}/sbin
26 install -m
0755 ifup
${BASEDIR}/sbin
27 ln
-s
/sbin
/ifup
${BASEDIR}/sbin
/ifdown
28 ln
-s
/sbin
/ifup
${BASEDIR}/sbin
/ifquery
29 install -D
-m
0755 settle-dad.sh
$(BASEDIR
)/lib
/ifupdown
/settle-dad.sh
30 install -D
-m
0755 wait-for-ll6.sh
$(BASEDIR
)/lib
/ifupdown
/wait-for-ll6.sh
31 install -D
-m
0755 wait-online.sh
$(BASEDIR
)/lib
/ifupdown
/wait-online.sh
34 rm -f
*.o
$(patsubst %.defn
,%.c
,$(DEFNFILES
)) *~
35 rm -f
$(patsubst %.defn
,%.man
,$(DEFNFILES
))
36 rm -f ifup ifdown ifquery interfaces
.5 ifdown
.8 ifquery
.8
37 -rm -f .
/tests
/*/*-res
*
38 -rm -rf .
/tests
/*/state.
*
43 $(CC
) $(CFLAGS
) $^
$(LDFLAGS
) $(OUTPUT_OPTION
)
52 @echo running .
/tests
/testbuild-
$(ARCH
)
53 @if
! exec .
/tests
/testbuild-
$(ARCH
); then \
54 echo
'=================================================='; \
55 echo
'AUTOMATIC TESTS FAILED -- Something built wrong or'; \
56 echo
'there is a bug in the code!!! Either way something'; \
57 echo
'is completely screwed up!!! File a bug!'; \
59 echo
'Aborting build.'; \
60 echo
'=================================================='; \
64 interfaces
.5: interfaces
.5.pre
$(MAN
)
65 sed
$(foreach man
,$(MAN
),-e
'/^##ADDRESSFAM##$$/r $(man)') \
66 -e
'/^##ADDRESSFAM##$$/d' < $< > $@
68 ifdown
.8 ifquery
.8: ifup
.8
72 groff
-mandoc
-Tps
$< > $@
75 groff
-mandoc
-Tps
$< > $@
77 %.c
: %.defn defn2c.pl
80 %.man
: %.defn defn2man.pl