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