]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - msdos/makefile.dj
Import vendor revision 77da77c36e5d958f9b8d6729876a33f670de031f from:
[FreeBSD/FreeBSD.git] / msdos / makefile.dj
1 #
2 # GNU Makefile for DOS-libpcap. djgpp version.
3 #
4 # Use this makefile from the libpcap root directory.
5 # E.g. like this:
6 #
7 #  c:\net\pcap> make -f msdos/makefile.dj
8 #
9 # Note: you should do a "set LFN=y" before running this makefile.
10 #
11
12 VPATH = missing msdos bpf/net
13
14 PREREQUISITES = scanner.c grammar.c tokdefs.h version.h msdos/pkt_stub.inc
15
16 include ./msdos/common.dj
17
18 DRIVER_DIR = ./msdos/pm_drvr
19
20 CFLAGS += -DDEBUG -DNDIS_DEBUG -DHAVE_LIMITS_H -DHAVE_STRERROR -DHAVE_SNPRINTF -DHAVE_VSNPRINTF\
21           -D_U_='__attribute__((unused))'
22
23 CFLAGS += -Dyylval=pcap_lval # -DBDEBUG -DNDEBUG
24
25 SOURCES = grammar.c scanner.c bpf/net/bpf_filter.c bpf_image.c bpf_dump.c \
26           etherent.c gencode.c nametoaddr.c pcap-common.c pcap-dos.c optimize.c \
27           savefile.c pcap.c sf-pcap.c sf-pcapng.c \
28           msdos/pktdrvr.c msdos/ndis2.c # missing/snprintf.c
29
30 OBJECTS = $(addprefix $(OBJ_DIR)/, $(notdir $(SOURCES:.c=.o)))
31 TEMPBIN = tmp.bin
32
33 ifeq ($(USE_32BIT_DRIVERS),1)
34   PM_OBJECTS = $(addprefix $(OBJ_DIR)/, \
35                  printk.o pci.o pci-scan.o bios32.o dma.o irq.o intwrap.o \
36                  lock.o kmalloc.o quirks.o timer.o net_init.o)
37   #
38   # Static link of drivers
39   #
40   ifeq ($(USE_32BIT_MODULES),0)
41     PM_OBJECTS += $(addprefix $(OBJ_DIR)/, \
42                     accton.o 8390.o 3c503.o 3c509.o 3c59x.o 3c515.o \
43                     3c575_cb.o 3c90x.o ne.o wd.o cs89x0.o rtl8139.o)
44   endif
45 endif
46
47 TARGETS = msdos/bin2c.exe libpcap.a filtertest.exe findalldevstest.exe \
48           nonblocktest.exe opentest.exe
49
50 all: $(TARGETS)
51         @echo 'Welcome to libpcap/djgpp with samples.'
52
53 ifeq ($(USE_32BIT_DRIVERS),1)
54 $(PM_OBJECTS):
55         $(MAKE) -f Makefile.dj -C $(DRIVER_DIR) $(notdir $@)
56 endif
57
58 libpcap.a: version.h $(OBJECTS) $(PM_OBJECTS)
59         rm -f $@
60         ar rs $@ $^
61
62 filtertest.exe: tests/filtertest.c libpcap.a
63         $(CC) $(CFLAGS) -Din_addr_t=u_long -o $@ $^ $(WATT32_ROOT)/lib/libwatt.a
64         @echo
65
66 findalldevstest.exe: tests/findalldevstest.c libpcap.a
67         $(CC) $(CFLAGS) -o $@ $^ $(WATT32_ROOT)/lib/libwatt.a
68         @echo
69
70 nonblocktest.exe: tests/nonblocktest.c libpcap.a
71         $(CC) $(CFLAGS) -o $@ $^ $(WATT32_ROOT)/lib/libwatt.a
72         @echo
73
74 opentest.exe: tests/opentest.c libpcap.a
75         $(CC) $(CFLAGS) -o $@ $^ $(WATT32_ROOT)/lib/libwatt.a
76         @echo
77
78 msdos/pkt_stub.inc: msdos/bin2c.exe msdos/pkt_rx1.S
79         $(ASM) -o $(TEMPBIN) -lmsdos/pkt_rx1.lst msdos/pkt_rx1.S
80         ./msdos/bin2c $(TEMPBIN) > $@
81         rm -f $(TEMPBIN)
82
83 grammar.c tokdefs.h: grammar.y
84         rm -f grammar.c tokdefs.h
85         $(YACC) --name-prefix=pcap_ --yacc --defines grammar.y
86         mv -f y.tab.c grammar.c
87         mv -f y.tab.h tokdefs.h
88
89 version.h: ./VERSION
90         @echo '/* Generated from VERSION. Do not edit */' > $@
91         sed -e 's/.*/static char pcap_version_string[] = "libpcap (&)";/' ./VERSION >> $@
92
93 scanner.c: scanner.l
94         $(LEX) -Ppcap_ -7 -t $^ > $@
95         @echo
96
97 msdos/bin2c.exe: msdos/bin2c.c
98         $(CC) $*.c -o $*.exe
99
100 clean:
101         rm -f $(OBJECTS) msdos/pkt_rx1.lst Makefile.bak .depend.dj $(PREREQUISITES)
102 #       $(MAKE) -f Makefile.dj -C $(DRIVER_DIR) clean
103
104 vclean: clean
105         rm -f $(TARGETS)
106         -rmdir $(OBJ_DIR)
107
108 #
109 # Manually generated dependencies
110 #
111 msdos/pktdrvr.c: msdos/pkt_stub.inc
112 scanner.c: scanner.l
113 grammar.c tokdefs.h: grammar.y
114 grammar.h: grammar.y
115 scanner.l: pcap-int.h pcap-namedb.h gencode.h grammar.h
116 grammar.y: pcap-int.h gencode.h pcap-namedb.h
117
118 #
119 # Generate dependencies.
120 #
121 REPLACE = sed -e 's/\(.*\)\.o: /\n$$(OBJ_DIR)\/\1.o: /'
122
123 depend: $(PREREQUISITES)
124         $(CC) -MM $(CFLAGS) $(SOURCES) | $(REPLACE) > .depend.dj
125
126 -include .depend.dj
127