1335640Shselasky#
2335640Shselasky#  Makefile for dos-libpcap. NB. This makefile requires a Borland
3335640Shselasky#  compatible make tool.
4335640Shselasky#
5335640Shselasky#  Targets:
6335640Shselasky#    Borland C 4.0+      (DOS large model)
7335640Shselasky#    Metaware HighC 3.3+ (PharLap 386|DosX)
8335640Shselasky#
9335640Shselasky
10335640Shselasky.AUTODEPEND
11335640Shselasky.SWAP
12335640Shselasky
13335640Shselasky!if "$(WATT_ROOT)" == ""
14335640Shselasky!error Environment variable "WATT_ROOT" not set.
15335640Shselasky!endif
16335640Shselasky
17335640ShselaskyWATT_INC = $(WATT_ROOT)\inc
18335640Shselasky
19335640ShselaskyDEFS   = -DMSDOS -DDEBUG -DNDIS_DEBUG -D_U_= -Dinline= \
20335640Shselasky         -DHAVE_STRERROR -DHAVE_LIMITS_H
21335640Shselasky
22335640ShselaskyASM    = tasm.exe -t -l -mx -m2 -DDEBUG
23335640Shselasky
24335640ShselaskySOURCE = grammar.c  scanner.c bpf_filt.c bpf_imag.c bpf_dump.c \
25335640Shselasky         etherent.c gencode.c nametoad.c pcap-dos.c optimize.c \
26335640Shselasky         savefile.c pcap.c msdos\ndis2.c msdos\pktdrvr.c \
27335640Shselasky         missing\snprintf.c
28335640Shselasky
29335640ShselaskyBORLAND_OBJ = $(SOURCE:.c=.obj) msdos\pkt_rx0.obj msdos\ndis_0.obj
30335640Shselasky
31335640ShselaskyHIGHC_OBJ   = $(SOURCE:.c=.o32) msdos\pkt_rx0.o32
32335640Shselasky
33335640Shselaskyall:
34335640Shselasky            @echo Usage: make pcap_bc.lib or pcap_hc.lib
35335640Shselasky
36335640Shselasky
37335640Shselaskypcap_bc.lib: bcc.arg $(BORLAND_OBJ) pcap_bc
38335640Shselasky
39335640Shselasky
40335640Shselaskypcap_hc.lib: hc386.arg $(HIGHC_OBJ)
41335640Shselasky            386lib $< @&&|
42335640Shselasky               -nowarn -nobackup -twocase -replace $(HIGHC_OBJ)
43335640Shselasky|
44335640Shselasky
45335640Shselaskypcap_bc:    $(BORLAND_OBJ)
46335640Shselasky            @tlib pcap_bc.lib /C @&&|
47335640Shselasky               -+$(**:.obj=-+)
48335640Shselasky|
49335640Shselasky
50335640Shselasky.c.obj:
51335640Shselasky            bcc.exe @bcc.arg -o$*.obj $*.c
52335640Shselasky
53335640Shselasky.c.o32:
54335640Shselasky            hc386.exe @hc386.arg -o $*.o32 $*.c
55335640Shselasky
56335640Shselasky.asm.obj:
57335640Shselasky            $(ASM) $*.asm, $*.obj
58335640Shselasky
59335640Shselasky.asm.o32:
60335640Shselasky            $(ASM) -DDOSX=1 $*.asm, $*.o32
61335640Shselasky
62335640Shselaskyscanner.c: scanner.l
63335640Shselasky            flex -Ppcap_ -7 -oscanner.c scanner.l
64335640Shselasky
65335640Shselaskygrammar.c tokdefs.h: grammar.y
66335640Shselasky            bison --name-prefix=pcap_ --yacc --defines grammar.y
67335640Shselasky            - @del grammar.c
68335640Shselasky            - @del tokdefs.h
69335640Shselasky            ren y_tab.c grammar.c
70335640Shselasky            ren y_tab.h tokdefs.h
71335640Shselasky
72335640Shselaskybcc.arg:    msdos\Makefile
73335640Shselasky            @copy &&|
74335640Shselasky              $(DEFS) -ml -c -v -3 -O2 -po -RT- -w-
75335640Shselasky              -I$(WATT_INC) -I. -I.\msdos\pm_drvr -H=$(TEMP)\bcc.sym
76335640Shselasky| $<
77335640Shselasky
78335640Shselaskyhc386.arg:  msdos\Makefile
79335640Shselasky            @copy &&|
80335640Shselasky            # -DUSE_32BIT_DRIVERS
81335640Shselasky              $(DEFS) -DDOSX=1 -w3 -c -g -O5
82335640Shselasky              -I$(WATT_INC) -I. -I.\msdos\pm_drvr
83335640Shselasky              -Hsuffix=.o32
84335640Shselasky              -Hnocopyr
85335640Shselasky              -Hpragma=Offwarn(491,553,572)
86335640Shselasky              -Hon=Recognize_library  # make memcpy/strlen etc. inline
87335640Shselasky              -Hoff=Behaved           # turn off some optimiser warnings
88335640Shselasky| $<
89335640Shselasky
90335640Shselaskyclean:
91335640Shselasky            @del *.obj
92335640Shselasky            @del *.o32
93335640Shselasky            @del *.lst
94335640Shselasky            @del *.map
95335640Shselasky            @del bcc.arg
96335640Shselasky            @del hc386.arg
97335640Shselasky            @del grammar.c
98335640Shselasky            @del tokdefs.h
99335640Shselasky            @del scanner.c
100335640Shselasky            @echo Cleaned
101335640Shselasky
102335640Shselasky#
103335640Shselasky# dependencies
104335640Shselasky#
105335640Shselaskypkt_rx0.obj:  msdos\pkt_rx0.asm
106335640Shselasky
107335640Shselaskybpf_filt.obj: bpf_filt.c pcap-int.h pcap.h pcap-bpf.h gnuc.h
108335640Shselasky
109335640Shselaskybpf_imag.obj: bpf_imag.c pcap-int.h pcap.h pcap-bpf.h
110335640Shselasky
111335640Shselaskybpf_dump.obj: bpf_dump.c pcap.h pcap-bpf.h
112335640Shselasky
113335640Shselaskyetherent.obj: etherent.c pcap-int.h pcap.h pcap-bpf.h pcap-namedb.h
114335640Shselasky
115335640Shselaskyoptimize.obj: optimize.c pcap-int.h pcap.h pcap-bpf.h gencode.h
116335640Shselasky
117335640Shselaskysavefile.obj: savefile.c pcap-int.h pcap.h pcap-bpf.h
118335640Shselasky
119335640Shselaskypcap.obj: pcap.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h
120335640Shselasky
121335640Shselaskygrammar.obj: grammar.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
122335640Shselasky  pf.h pcap-namedb.h
123335640Shselasky
124335640Shselaskyscanner.obj: scanner.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
125335640Shselasky  pcap-namedb.h tokdefs.h
126335640Shselasky
127335640Shselaskygencode.obj: gencode.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h \
128335640Shselasky  ethertype.h nlpid.h llc.h gencode.h atmuni31.h sunatmpos.h ppp.h sll.h \
129335640Shselasky  arcnet.h pf.h pcap-namedb.h
130335640Shselasky
131335640Shselaskynametoad.obj: nametoad.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
132335640Shselasky  pcap-namedb.h ethertype.h
133335640Shselasky
134335640Shselaskypcap-dos.obj: pcap-dos.c pcap.h pcap-bpf.h pcap-dos.h pcap-int.h \
135335640Shselasky  msdos\pktdrvr.h
136335640Shselasky
137335640Shselaskypktdrvr.obj: msdos\pktdrvr.c gnuc.h pcap-dos.h pcap-int.h \
138335640Shselasky  pcap.h pcap-bpf.h msdos\pktdrvr.h msdos\pkt_stub.inc
139335640Shselasky
140335640Shselaskyndis2.obj: msdos\ndis2.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h \
141335640Shselasky  msdos\ndis2.h
142335640Shselasky
143335640Shselaskypkt_rx0.o32:  msdos\pkt_rx0.asm
144335640Shselasky
145335640Shselaskybpf_filt.o32: bpf_filt.c pcap-int.h pcap.h pcap-bpf.h gnuc.h
146335640Shselasky
147335640Shselaskybpf_imag.o32: bpf_imag.c pcap-int.h pcap.h pcap-bpf.h
148335640Shselasky
149335640Shselaskybpf_dump.o32: bpf_dump.c pcap.h pcap-bpf.h
150335640Shselasky
151335640Shselaskyetherent.o32: etherent.c pcap-int.h pcap.h pcap-bpf.h pcap-namedb.h
152335640Shselasky
153335640Shselaskyoptimize.o32: optimize.c pcap-int.h pcap.h pcap-bpf.h gencode.h
154335640Shselasky
155335640Shselaskysavefile.o32: savefile.c pcap-int.h pcap.h pcap-bpf.h
156335640Shselasky
157335640Shselaskypcap.o32: pcap.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h
158335640Shselasky
159335640Shselaskygrammar.o32: grammar.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
160335640Shselasky  pf.h pcap-namedb.h
161335640Shselasky
162335640Shselaskyscanner.o32: scanner.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
163335640Shselasky  pcap-namedb.h tokdefs.h
164335640Shselasky
165335640Shselaskygencode.o32: gencode.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h \
166335640Shselasky  ethertype.h nlpid.h llc.h gencode.h atmuni31.h sunatmpos.h ppp.h sll.h \
167335640Shselasky  arcnet.h pf.h pcap-namedb.h
168335640Shselasky
169335640Shselaskynametoad.o32: nametoad.c pcap-int.h pcap.h pcap-bpf.h gencode.h \
170335640Shselasky  pcap-namedb.h ethertype.h
171335640Shselasky
172335640Shselaskypcap-dos.o32: pcap-dos.c pcap.h pcap-bpf.h pcap-dos.h pcap-int.h \
173335640Shselasky  msdos\pktdrvr.h
174335640Shselasky
175335640Shselaskypktdrvr.o32: msdos\pktdrvr.c gnuc.h pcap-dos.h pcap-int.h \
176335640Shselasky  pcap.h pcap-bpf.h msdos\pktdrvr.h msdos\pkt_stub.inc
177335640Shselasky
178335640Shselaskyndis2.o32: msdos\ndis2.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h \
179335640Shselasky  msdos\ndis2.h
180335640Shselasky
181