1511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#
2511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#  Makefile for dos-libpcap. NB. This makefile requires a Borland
3511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#  compatible make tool.
4511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#
5511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#  Targets:
6511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#    Borland C 4.0+      (DOS large model)
7511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#    Metaware HighC 3.3+ (PharLap 386|DosX)
8511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#
9511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
10511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall.AUTODEPEND
11511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall.SWAP
12511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
13511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall!if "$(WATT_ROOT)" == ""
14511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall!error Environment variable "WATT_ROOT" not set.
15511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall!endif
16511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
17511eca30a483e912c274e1d8ba3a0f8f081e2227JP AbgrallWATT_INC = $(WATT_ROOT)\inc
18511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
19511eca30a483e912c274e1d8ba3a0f8f081e2227JP AbgrallDEFS   = -DMSDOS -DDEBUG -DNDIS_DEBUG -D_U_= -Dinline= \
20511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall         -DHAVE_STRERROR -DHAVE_LIMITS_H
21511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
22511eca30a483e912c274e1d8ba3a0f8f081e2227JP AbgrallASM    = tasm.exe -t -l -mx -m2 -DDEBUG
23511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
24511eca30a483e912c274e1d8ba3a0f8f081e2227JP AbgrallSOURCE = grammar.c  scanner.c bpf_filt.c bpf_imag.c bpf_dump.c \
25511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall         etherent.c gencode.c nametoad.c pcap-dos.c optimize.c \
26511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall         savefile.c pcap.c inet.c msdos\ndis2.c msdos\pktdrvr.c \
27511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall         missing\snprintf.c
28511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
29511eca30a483e912c274e1d8ba3a0f8f081e2227JP AbgrallBORLAND_OBJ = $(SOURCE:.c=.obj) msdos\pkt_rx0.obj msdos\ndis_0.obj
30511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
31511eca30a483e912c274e1d8ba3a0f8f081e2227JP AbgrallHIGHC_OBJ   = $(SOURCE:.c=.o32) msdos\pkt_rx0.o32
32511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
33511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallall:
34511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @echo Usage: make pcap_bc.lib or pcap_hc.lib
35511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
36511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
37511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallpcap_bc.lib: bcc.arg $(BORLAND_OBJ) pcap_bc
38511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
39511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
40511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallpcap_hc.lib: hc386.arg $(HIGHC_OBJ)
41511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            386lib $< @&&|
42511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall               -nowarn -nobackup -twocase -replace $(HIGHC_OBJ)
43511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall|
44511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
45511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallpcap_bc:    $(BORLAND_OBJ)
46511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @tlib pcap_bc.lib /C @&&|
47511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall               -+$(**:.obj=-+)
48511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall|
49511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
50511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall.c.obj:
51511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            bcc.exe @bcc.arg -o$*.obj $*.c
52511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
53511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall.c.o32:
54511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            hc386.exe @hc386.arg -o $*.o32 $*.c
55511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
56511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall.asm.obj:
57511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            $(ASM) $*.asm, $*.obj
58511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
59511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall.asm.o32:
60511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            $(ASM) -DDOSX=1 $*.asm, $*.o32
61511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
62511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallscanner.c: scanner.l
63511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            flex -Ppcap_ -7 -oscanner.c scanner.l
64511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
65511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallgrammar.c tokdefs.h: grammar.y
66511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            bison --name-prefix=pcap_ --yacc --defines grammar.y
67511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            - @del grammar.c
68511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            - @del tokdefs.h
69511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            ren y_tab.c grammar.c
70511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            ren y_tab.h tokdefs.h
71511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
72511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallbcc.arg:    msdos\Makefile
73511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @copy &&|
74511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall              $(DEFS) -ml -c -v -3 -O2 -po -RT- -w-
75511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall              -I$(WATT_INC) -I. -I.\msdos\pm_drvr -H=$(TEMP)\bcc.sym
76511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall| $<
77511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
78511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallhc386.arg:  msdos\Makefile
79511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @copy &&|
80511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            # -DUSE_32BIT_DRIVERS
81511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall              $(DEFS) -DDOSX=1 -w3 -c -g -O5
82511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall              -I$(WATT_INC) -I. -I.\msdos\pm_drvr
83511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall              -Hsuffix=.o32
84511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall              -Hnocopyr
85511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall              -Hpragma=Offwarn(491,553,572)
86511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall              -Hon=Recognize_library  # make memcpy/strlen etc. inline
87511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall              -Hoff=Behaved           # turn off some optimiser warnings
88511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall| $<
89511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
90511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallclean:
91511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @del *.obj
92511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @del *.o32
93511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @del *.lst
94511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @del *.map
95511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @del bcc.arg
96511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @del hc386.arg
97511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @del grammar.c
98511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @del tokdefs.h
99511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @del scanner.c
100511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall            @echo Cleaned
101511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
102511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#
103511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall# dependencies
104511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall#             
105511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallpkt_rx0.obj:  msdos\pkt_rx0.asm
106511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
107511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallbpf_filt.obj: bpf_filt.c pcap-int.h pcap.h pcap-bpf.h gnuc.h
108511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
109511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallbpf_imag.obj: bpf_imag.c pcap-int.h pcap.h pcap-bpf.h
110511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
111511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallbpf_dump.obj: bpf_dump.c pcap.h pcap-bpf.h
112511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
113511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgralletherent.obj: etherent.c pcap-int.h pcap.h pcap-bpf.h pcap-namedb.h
114511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
115511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgralloptimize.obj: optimize.c pcap-int.h pcap.h pcap-bpf.h gencode.h
116511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
117511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallsavefile.obj: savefile.c pcap-int.h pcap.h pcap-bpf.h
118511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
119511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallpcap.obj: pcap.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h
120511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
121511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallinet.obj: inet.c pcap-int.h pcap.h pcap-bpf.h
122511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
123511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallgrammar.obj: grammar.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
124511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  pf.h pcap-namedb.h
125511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
126511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallscanner.obj: scanner.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
127511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  pcap-namedb.h tokdefs.h
128511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
129511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallgencode.obj: gencode.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h \
130511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  ethertype.h nlpid.h llc.h gencode.h atmuni31.h sunatmpos.h ppp.h sll.h \
131511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  arcnet.h pf.h pcap-namedb.h
132511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
133511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallnametoad.obj: nametoad.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
134511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  pcap-namedb.h ethertype.h
135511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
136511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallpcap-dos.obj: pcap-dos.c pcap.h pcap-bpf.h pcap-dos.h pcap-int.h \
137511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  msdos\pktdrvr.h
138511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
139511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallpktdrvr.obj: msdos\pktdrvr.c gnuc.h pcap-dos.h pcap-int.h \
140511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  pcap.h pcap-bpf.h msdos\pktdrvr.h msdos\pkt_stub.inc
141511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
142511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallndis2.obj: msdos\ndis2.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h \
143511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  msdos\ndis2.h
144511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
145511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallpkt_rx0.o32:  msdos\pkt_rx0.asm
146511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
147511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallbpf_filt.o32: bpf_filt.c pcap-int.h pcap.h pcap-bpf.h gnuc.h
148511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
149511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallbpf_imag.o32: bpf_imag.c pcap-int.h pcap.h pcap-bpf.h
150511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
151511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallbpf_dump.o32: bpf_dump.c pcap.h pcap-bpf.h
152511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
153511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgralletherent.o32: etherent.c pcap-int.h pcap.h pcap-bpf.h pcap-namedb.h
154511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
155511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgralloptimize.o32: optimize.c pcap-int.h pcap.h pcap-bpf.h gencode.h
156511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
157511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallsavefile.o32: savefile.c pcap-int.h pcap.h pcap-bpf.h
158511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
159511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallpcap.o32: pcap.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h
160511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
161511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallinet.o32: inet.c pcap-int.h pcap.h pcap-bpf.h
162511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
163511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallgrammar.o32: grammar.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
164511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  pf.h pcap-namedb.h
165511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
166511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallscanner.o32: scanner.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
167511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  pcap-namedb.h tokdefs.h
168511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
169511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallgencode.o32: gencode.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h \
170511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  ethertype.h nlpid.h llc.h gencode.h atmuni31.h sunatmpos.h ppp.h sll.h \
171511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  arcnet.h pf.h pcap-namedb.h
172511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
173511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallnametoad.o32: nametoad.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
174511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  pcap-namedb.h ethertype.h
175511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
176511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallpcap-dos.o32: pcap-dos.c pcap.h pcap-bpf.h pcap-dos.h pcap-int.h \
177511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  msdos\pktdrvr.h
178511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
179511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallpktdrvr.o32: msdos\pktdrvr.c gnuc.h pcap-dos.h pcap-int.h \
180511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  pcap.h pcap-bpf.h msdos\pktdrvr.h msdos\pkt_stub.inc
181511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
182511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrallndis2.o32: msdos\ndis2.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h \
183511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall  msdos\ndis2.h
184511eca30a483e912c274e1d8ba3a0f8f081e2227JP Abgrall
185