]> git.ipfire.org Git - thirdparty/iw.git/blob - Makefile
iw: Add commands to get and set o11s mesh networking parameters
[thirdparty/iw.git] / Makefile
1 -include .config
2
3 MAKEFLAGS += --no-print-directory
4
5 MKDIR ?= mkdir -p
6 INSTALL ?= install
7 PREFIX ?= /usr
8 CC ?= "gcc"
9 CFLAGS += -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration `pkg-config --cflags libnl-1`
10 CFLAGS += -O2 -g
11 LDFLAGS += `pkg-config --libs libnl-1`
12 NLVERSION = 1.0
13
14 OBJS = iw.o info.o phy.o interface.o station.o util.o mpath.o reg.o mesh.o
15 ALL = iw
16
17 ifeq ($(V),1)
18 Q=
19 NQ=true
20 else
21 Q=@
22 NQ=echo
23 endif
24
25 all: version_check $(ALL)
26
27 version_check:
28 @if ! pkg-config --atleast-version=$(NLVERSION) libnl-1; then echo "You need at least libnl version $(NLVERSION)"; exit 1; fi
29
30
31 version.h: version.sh
32 @$(NQ) ' GEN version.h'
33 $(Q)./version.sh
34
35 %.o: %.c iw.h version.h
36 @$(NQ) ' CC ' $@
37 $(Q)$(CC) $(CFLAGS) -c -o $@ $<
38
39 iw: $(OBJS)
40 @$(NQ) ' CC ' iw
41 $(Q)$(CC) $(LDFLAGS) $(OBJS) -o iw
42
43 check:
44 $(Q)$(MAKE) all CC="REAL_CC=$(CC) CHECK=\"sparse -Wall\" cgcc"
45
46 %.gz: %
47 @$(NQ) ' GZIP' $<
48 $(Q)gzip < $< > $@
49
50 install: iw iw.8.gz
51 @$(NQ) ' INST iw'
52 $(Q)$(MKDIR) $(DESTDIR)$(PREFIX)/bin/
53 $(Q)$(INSTALL) -m 755 -o root -g root -t $(DESTDIR)$(PREFIX)/bin/ iw
54 @$(NQ) ' INST iw.8'
55 $(Q)$(MKDIR) $(DESTDIR)$(PREFIX)/share/man/man8/
56 $(Q)$(INSTALL) -m 644 -o root -g root -t $(DESTDIR)$(PREFIX)/share/man/man8/ iw.8.gz
57
58 clean:
59 $(Q)rm -f iw *.o *~ *.gz version.h *-stamp