blob: 8c04caf229340156340bc162a6cce1b85e9bda66 [file] [log] [blame]
Marc Bouchere6869a82000-03-20 06:03:29 +00001#! /usr/bin/make
2
3all: $(SHARED_LIBS) $(EXTRAS)
4
Rusty Russell01c45202001-01-07 06:50:31 +00005experimental: $(EXTRAS_EXP)
6
Rusty Russell52451822000-08-27 07:47:46 +00007# Have to handle extensions which no longer exist.
Marc Bouchere6869a82000-03-20 06:03:29 +00008clean: $(EXTRA_CLEANS)
Rusty Russell80daae12001-01-08 08:36:31 +00009 rm -f $(SHARED_LIBS) $(EXTRAS) $(EXTRAS_EXP) $(SHARED_LIBS:%.so=%_sh.o)
Harald Welte3efb6ea2001-08-06 18:50:21 +000010 rm -f extensions/initext.c extensions/initext6.c
Harald Weltedb16ed12001-07-31 20:51:31 +000011 @find . -name '*.[ao]' -o -name '*.so' | xargs rm -f
Marc Bouchere6869a82000-03-20 06:03:29 +000012
13install: all $(EXTRA_INSTALLS)
Rusty Russell7fef1942001-01-08 07:44:46 +000014 @if [ -f /usr/local/bin/iptables -a "$(BINDIR)" = "/usr/local/sbin" ];\
15 then echo 'Erasing iptables from old location (now /usr/local/sbin).';\
16 rm -f /usr/local/bin/iptables;\
17 fi
Marc Bouchere6869a82000-03-20 06:03:29 +000018
Rusty Russell01c45202001-01-07 06:50:31 +000019install-experimental: $(EXTRA_INSTALLS_EXP)
20
Marc Bouchere6869a82000-03-20 06:03:29 +000021TAGS:
22 @rm -f $@
23 find . -name '*.[ch]' | xargs etags -a
24
25dep: $(DEPFILES) $(EXTRA_DEPENDS)
26 @echo Dependencies will be generated on next make.
Rusty Russell5622f212000-05-02 16:42:09 +000027 rm -f $(DEPFILES) $(EXTRA_DEPENDS) .makefirst
Marc Bouchere6869a82000-03-20 06:03:29 +000028
29$(SHARED_LIBS:%.so=%.d): %.d: %.c
30 @-$(CC) -M -MG $(CFLAGS) $< | \
Rusty Russell5622f212000-05-02 16:42:09 +000031 sed -e 's@^.*\.o:@$*.d $*_sh.o:@' > $@
Marc Bouchere6869a82000-03-20 06:03:29 +000032
33$(SHARED_LIBS): %.so : %_sh.o
34 $(LD) -shared -o $@ $<
35
36%_sh.o : %.c
37 $(CC) $(SH_CFLAGS) -o $@ -c $<
38
Marc Bouchere6869a82000-03-20 06:03:29 +000039.makefirst:
40 @echo Making dependencies: please wait...
41 @touch .makefirst
42
Rusty Russell5622f212000-05-02 16:42:09 +000043# This is useful for when dependencies completely screwed
44%.h::
45 @echo Something wrong... deleting dependencies.
Rusty Russellf4a6a0e2000-07-30 01:42:17 +000046 @-rm -f $(DEPFILES) $(EXTRA_DEPENDS) .makefirst
47 @[ -d $(KERNEL_DIR)/include/linux/netfilter_ipv4 ] || echo -e '\n\n Please try `make KERNEL_DIR=path-to-correct-kernel'\'.'\n\n'
Rusty Russell5622f212000-05-02 16:42:09 +000048 @exit 1
49
Marc Bouchere6869a82000-03-20 06:03:29 +000050-include $(DEPFILES) $(EXTRA_DEPENDS)
51-include .makefirst