File: Makefile

package info (click to toggle)
ifupdown 0.8.44
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 952 kB
  • sloc: ansic: 2,781; sh: 899; perl: 513; makefile: 90
file content (83 lines) | stat: -rw-r--r-- 2,354 bytes parent folder | download | duplicates (3)
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
82
83
VERSION ?= 0.8
CFLAGS ?= -Wall -W -Wno-unused-parameter -g -O2
ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)

BASEDIR ?= $(DESTDIR)
PKGLIBDIR ?= /lib/ifupdown

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

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 install clean distclean check
.SECONDARY: link.c ipx.c can.c meta.c inet6.c inet.c

install :
	install -m 0755 -d     ${BASEDIR}/usr/sbin
	install -m 0755 ifup   ${BASEDIR}/usr/sbin
	ln -s /usr/sbin/ifup ${BASEDIR}/usr/sbin/ifdown
	ln -s /usr/sbin/ifup ${BASEDIR}/usr/sbin/ifquery
	install -D -m 0755 settle-dad.sh $(BASEDIR)$(PKGLIBDIR)/settle-dad.sh
	install -D -m 0755 wait-for-ll6.sh $(BASEDIR)$(PKGLIBDIR)/wait-for-ll6.sh
	install -D -m 0755 wait-online.sh $(BASEDIR)$(PKGLIBDIR)/wait-online.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 -rf ./tests/*/state.*

distclean : clean

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

ifdown: ifup
	ln -sf ifup ifdown

ifquery: ifup
	ln -sf ifup ifquery

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 $< > $@