1*d56f51eaSDavid van Moolenbroek# 2*d56f51eaSDavid van Moolenbroek# Watcom Makefile for dos-libpcap. 3*d56f51eaSDavid van Moolenbroek# 4*d56f51eaSDavid van Moolenbroek# Specify MODEL = `3r' or `3s' 5*d56f51eaSDavid van Moolenbroek# Specify TARGET = `pharlap' or `dos4g' 6*d56f51eaSDavid van Moolenbroek# 7*d56f51eaSDavid van Moolenbroek# Use this makefile from the libpcap root directory. 8*d56f51eaSDavid van Moolenbroek# E.g. like this: 9*d56f51eaSDavid van Moolenbroek# 10*d56f51eaSDavid van Moolenbroek# c:\net\pcap> wmake -f msdos\makefile.wc 11*d56f51eaSDavid van Moolenbroek# 12*d56f51eaSDavid van Moolenbroek 13*d56f51eaSDavid van MoolenbroekMODEL = 3s 14*d56f51eaSDavid van MoolenbroekTARGET = dos4g 15*d56f51eaSDavid van Moolenbroek 16*d56f51eaSDavid van MoolenbroekOBJDIR = msdos\$(TARGET).w$(MODEL) 17*d56f51eaSDavid van MoolenbroekLIB = $(OBJDIR)\pcap.lib 18*d56f51eaSDavid van Moolenbroek 19*d56f51eaSDavid van Moolenbroek.EXTENSIONS: .l .y 20*d56f51eaSDavid van Moolenbroek 21*d56f51eaSDavid van MoolenbroekDEFS = -dDEBUG -dNDIS_DEBUG -d_U_= -dHAVE_LIMITS_H -dHAVE_STRERROR & 22*d56f51eaSDavid van Moolenbroek -dHAVE_SNPRINTF -dHAVE_VSNPRINTF 23*d56f51eaSDavid van Moolenbroek 24*d56f51eaSDavid van MoolenbroekCC = wcc386.exe 25*d56f51eaSDavid van MoolenbroekASM = wasm.exe -$(MODEL) $(DEFS) -dDOSX -dDOS4GW -zq -bt=dos -fr=nul -d3 -s 26*d56f51eaSDavid van Moolenbroek 27*d56f51eaSDavid van MoolenbroekOBJS = $(OBJDIR)\grammar.obj $(OBJDIR)\scanner.obj $(OBJDIR)\pcap.obj & 28*d56f51eaSDavid van Moolenbroek $(OBJDIR)\bpf_filt.obj $(OBJDIR)\bpf_imag.obj $(OBJDIR)\bpf_dump.obj & 29*d56f51eaSDavid van Moolenbroek $(OBJDIR)\etherent.obj $(OBJDIR)\gencode.obj $(OBJDIR)\nametoad.obj & 30*d56f51eaSDavid van Moolenbroek $(OBJDIR)\pcap-dos.obj $(OBJDIR)\pktdrvr.obj $(OBJDIR)\optimize.obj & 31*d56f51eaSDavid van Moolenbroek $(OBJDIR)\savefile.obj $(OBJDIR)\inet.obj $(OBJDIR)\ndis2.obj 32*d56f51eaSDavid van Moolenbroek 33*d56f51eaSDavid van MoolenbroekCFLAGS = $(DEFS) $(YYDEFS) -I. -I$(%watt_root)\inc -I.\msdos\pm_drvr & 34*d56f51eaSDavid van Moolenbroek -$(MODEL) -mf -zff -zgf -zq -bt=dos -fr=nul -w6 -fpi & 35*d56f51eaSDavid van Moolenbroek -oilrtf -zm 36*d56f51eaSDavid van Moolenbroek 37*d56f51eaSDavid van MoolenbroekTEMPBIN = tmp.bin 38*d56f51eaSDavid van Moolenbroek 39*d56f51eaSDavid van Moolenbroekall: $(OBJDIR) $(OBJDIR)\pcap.lib 40*d56f51eaSDavid van Moolenbroek 41*d56f51eaSDavid van Moolenbroek$(OBJDIR): 42*d56f51eaSDavid van Moolenbroek - mkdir $(OBJDIR) 43*d56f51eaSDavid van Moolenbroek 44*d56f51eaSDavid van Moolenbroek$(OBJDIR)\pcap.lib: $(OBJS) wlib.arg 45*d56f51eaSDavid van Moolenbroek wlib -q -b -c $(OBJDIR)\pcap.lib @wlib.arg 46*d56f51eaSDavid van Moolenbroek 47*d56f51eaSDavid van Moolenbroekwlib.arg: msdos\makefile.wc 48*d56f51eaSDavid van Moolenbroek %create $^@ 49*d56f51eaSDavid van Moolenbroek for %f in ($(OBJS)) do %append $^@ +- %f 50*d56f51eaSDavid van Moolenbroek 51*d56f51eaSDavid van Moolenbroek$(OBJDIR)\pktdrvr.obj: msdos\pkt_stub.inc msdos\pktdrvr.c gnuc.h & 52*d56f51eaSDavid van Moolenbroek pcap-dos.h pcap-int.h pcap.h msdos\pktdrvr.h 53*d56f51eaSDavid van Moolenbroek *$(CC) $(CFLAGS) msdos\pktdrvr.c -fo=$@ 54*d56f51eaSDavid van Moolenbroek 55*d56f51eaSDavid van Moolenbroek$(OBJDIR)\ndis2.obj: msdos\ndis2.c 56*d56f51eaSDavid van Moolenbroek *$(CC) $(CFLAGS) msdos\ndis2.c -fo=$@ 57*d56f51eaSDavid van Moolenbroek 58*d56f51eaSDavid van Moolenbroek.ERASE 59*d56f51eaSDavid van Moolenbroek.c{$(OBJDIR)}.obj: 60*d56f51eaSDavid van Moolenbroek *$(CC) $(CFLAGS) $[@ -fo=$@ 61*d56f51eaSDavid van Moolenbroek 62*d56f51eaSDavid van Moolenbroekgrammar.c tokdefs.h: grammar.y 63*d56f51eaSDavid van Moolenbroek bison --name-prefix=pcap_ --yacc --defines $[@ 64*d56f51eaSDavid van Moolenbroek - @del grammar.c 65*d56f51eaSDavid van Moolenbroek - @del tokdefs.h 66*d56f51eaSDavid van Moolenbroek ren y_tab.c grammar.c 67*d56f51eaSDavid van Moolenbroek ren y_tab.h tokdefs.h 68*d56f51eaSDavid van Moolenbroek 69*d56f51eaSDavid van Moolenbroekscanner.c: scanner.l 70*d56f51eaSDavid van Moolenbroek flex -Ppcap_ -7 -o$@ $[@ 71*d56f51eaSDavid van Moolenbroek 72*d56f51eaSDavid van Moolenbroekmsdos\pkt_stub.inc: bin2c.exe msdos\pkt_rx1.S 73*d56f51eaSDavid van Moolenbroek nasm -fbin -dDEBUG -o $(TEMPBIN) -lmsdos\pkt_rx1.lst msdos\pkt_rx1.S 74*d56f51eaSDavid van Moolenbroek bin2c.exe $(TEMPBIN) > $@ 75*d56f51eaSDavid van Moolenbroek @del $(TEMPBIN) 76*d56f51eaSDavid van Moolenbroek 77*d56f51eaSDavid van Moolenbroekbin2c.exe: msdos\bin2c.c 78*d56f51eaSDavid van Moolenbroek wcl $[@ 79*d56f51eaSDavid van Moolenbroek 80*d56f51eaSDavid van Moolenbroekclean realclean vclean: .SYMBOLIC 81*d56f51eaSDavid van Moolenbroek for %f in (dos4g.w3r dos4g.w3s pharlap.w3r pharlap.w3s) do & 82*d56f51eaSDavid van Moolenbroek @del %f\*.obj 83*d56f51eaSDavid van Moolenbroek @del grammar.c 84*d56f51eaSDavid van Moolenbroek @del tokdefs.h 85*d56f51eaSDavid van Moolenbroek @del scanner.c 86*d56f51eaSDavid van Moolenbroek @del bin2c.exe 87*d56f51eaSDavid van Moolenbroek @del bin2c.obj 88*d56f51eaSDavid van Moolenbroek @del msdos\pkt_stub.inc 89*d56f51eaSDavid van Moolenbroek @echo Cleaned 90*d56f51eaSDavid van Moolenbroek 91*d56f51eaSDavid van Moolenbroek# 92*d56f51eaSDavid van Moolenbroek# dependencies 93*d56f51eaSDavid van Moolenbroek# 94*d56f51eaSDavid van Moolenbroek$(OBJDIR)\bpf_filt.obj: bpf_filt.c pcap-int.h pcap.h pcap-bpf.h gnuc.h 95*d56f51eaSDavid van Moolenbroek 96*d56f51eaSDavid van Moolenbroek$(OBJDIR)\bpf_imag.obj: bpf_imag.c pcap-int.h pcap.h pcap-bpf.h 97*d56f51eaSDavid van Moolenbroek 98*d56f51eaSDavid van Moolenbroek$(OBJDIR)\bpf_dump.obj: bpf_dump.c pcap.h pcap-bpf.h 99*d56f51eaSDavid van Moolenbroek 100*d56f51eaSDavid van Moolenbroek$(OBJDIR)\etherent.obj: etherent.c pcap-int.h pcap.h pcap-bpf.h pcap-nam.h 101*d56f51eaSDavid van Moolenbroek 102*d56f51eaSDavid van Moolenbroek$(OBJDIR)\optimize.obj: optimize.c pcap-int.h pcap.h pcap-bpf.h gencode.h 103*d56f51eaSDavid van Moolenbroek 104*d56f51eaSDavid van Moolenbroek$(OBJDIR)\savefile.obj: savefile.c pcap-int.h pcap.h pcap-bpf.h 105*d56f51eaSDavid van Moolenbroek 106*d56f51eaSDavid van Moolenbroek$(OBJDIR)\pcap.obj: pcap.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h 107*d56f51eaSDavid van Moolenbroek 108*d56f51eaSDavid van Moolenbroek$(OBJDIR)\inet.obj: inet.c pcap-int.h pcap.h pcap-bpf.h 109*d56f51eaSDavid van Moolenbroek 110*d56f51eaSDavid van Moolenbroek$(OBJDIR)\grammar.obj: grammar.c pcap-int.h pcap.h pcap-bpf.h gencode.h & 111*d56f51eaSDavid van Moolenbroek pf.h pcap-nam.h 112*d56f51eaSDavid van Moolenbroek 113*d56f51eaSDavid van Moolenbroek$(OBJDIR)\scanner.obj: scanner.c pcap-int.h pcap.h pcap-bpf.h gencode.h & 114*d56f51eaSDavid van Moolenbroek pcap-nam.h tokdefs.h 115*d56f51eaSDavid van Moolenbroek 116*d56f51eaSDavid van Moolenbroek$(OBJDIR)\gencode.obj: gencode.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h & 117*d56f51eaSDavid van Moolenbroek ethertyp.h nlpid.h llc.h gencode.h atmuni31.h sunatmpo.h ppp.h sll.h & 118*d56f51eaSDavid van Moolenbroek arcnet.h pf.h pcap-nam.h 119*d56f51eaSDavid van Moolenbroek 120*d56f51eaSDavid van Moolenbroek$(OBJDIR)\nametoad.obj: nametoad.c pcap-int.h pcap.h pcap-bpf.h gencode.h & 121*d56f51eaSDavid van Moolenbroek pcap-nam.h ethertyp.h 122*d56f51eaSDavid van Moolenbroek 123*d56f51eaSDavid van Moolenbroek$(OBJDIR)\pcap-dos.obj: pcap-dos.c pcap.h pcap-bpf.h pcap-dos.h pcap-int.h & 124*d56f51eaSDavid van Moolenbroek msdos\pktdrvr.h 125*d56f51eaSDavid van Moolenbroek 126*d56f51eaSDavid van Moolenbroek$(OBJDIR)\pktdrvr.obj: msdos\pktdrvr.c gnuc.h pcap-dos.h pcap-int.h & 127*d56f51eaSDavid van Moolenbroek pcap.h pcap-bpf.h msdos\pktdrvr.h msdos\pkt_stub.inc 128*d56f51eaSDavid van Moolenbroek 129*d56f51eaSDavid van Moolenbroek$(OBJDIR)\ndis2.obj: msdos\ndis2.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h & 130*d56f51eaSDavid van Moolenbroek msdos\ndis2.h 131*d56f51eaSDavid van Moolenbroek 132