File: Makefile

package info (click to toggle)
ifupdown 0.8.19
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 896 kB
  • ctags: 250
  • sloc: ansic: 2,432; sh: 715; perl: 508; makefile: 89
file content (81 lines) | stat: -rw-r--r-- 2,192 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
VERSION ?= 0.7
CFLAGS ?= -Wall -W -Wno-unused-parameter -g -O2
ARCH ?= linux

BASEDIR ?= $(DESTDIR)

CFLAGS += -std=c99 -D_DEFAULT_SOURCE
CFLAGS += -D'IFUPDOWN_VERSION="$(VERSION)"'

DEFNFILES := inet.defn ipx.defn inet6.defn can.defn

OBJ := main.o addrfam.o execute.o config.o \
	$(patsubst %.defn,%.o,$(DEFNFILES)) archcommon.o arch$(ARCH).o meta.o link.o

MAN := $(patsubst %.defn,%.man,$(DEFNFILES))

DEFNFILES += meta.defn link.defn

all : ifup ifdown ifquery ifup.8 ifdown.8 ifquery.8 interfaces.5

.PHONY : all clean distclean
.SECONDARY: link.c ipx.c can.c meta.c inet6.c inet.c

install :
	install -m 0755 -d     ${BASEDIR}/sbin
	install -m 0755 ifup   ${BASEDIR}/sbin
	ln -s /sbin/ifup ${BASEDIR}/sbin/ifdown
	ln -s /sbin/ifup ${BASEDIR}/sbin/ifquery
	install -D -m 0755 settle-dad.sh $(BASEDIR)/lib/ifupdown/settle-dad.sh
	install -D -m 0755 wait-for-ll6.sh $(BASEDIR)/lib/ifupdown/wait-for-ll6.sh

clean :
	rm -f *.o $(patsubst %.defn,%.c,$(DEFNFILES)) *~
	rm -f $(patsubst %.defn,%.man,$(DEFNFILES))
	rm -f ifup ifdown ifquery interfaces.5 ifdown.8 ifquery.8
	-rm -f ./tests/*/*-res*
	-rm -r ./tests/*/state.*

distclean : clean

ifup: $(OBJ)
	$(CC) $(CFLAGS) $^ $(LDFLAGS) $(OUTPUT_OPTION)

ifdown: ifup
	ln -sf ifup ifdown

ifquery: ifup
	ln -sf ifup ifquery

ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
check: ifup ifdown
	@echo running ./tests/testbuild-$(ARCH)
	@if ! exec ./tests/testbuild-$(ARCH); then \
	     echo '=================================================='; \
	     echo 'AUTOMATIC TESTS FAILED -- Something built wrong or'; \
	     echo 'there is a bug in the code!!! Either way something'; \
	     echo 'is completely screwed up!!! File a bug!'; \
	     echo ''; \
	     echo 'Aborting build.'; \
	     echo '=================================================='; \
	     exit 1; \
	fi

interfaces.5: interfaces.5.pre $(MAN)
	sed $(foreach man,$(MAN),-e '/^##ADDRESSFAM##$$/r $(man)') \
	     -e '/^##ADDRESSFAM##$$/d' < $< > $@	

ifdown.8 ifquery.8: ifup.8
	ln -sf $< $@

%.5.ps: %.5
	groff -mandoc -Tps $< > $@

%.8.ps: %.8
	groff -mandoc -Tps $< > $@

%.c : %.defn defn2c.pl
	./defn2c.pl $< > $@

%.man: %.defn defn2man.pl
	./defn2man.pl $< > $@