makefile.wc 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. #
  2. # Watcom Makefile for dos-libpcap.
  3. #
  4. # Specify MODEL = `3r' or `3s'
  5. # Specify TARGET = `pharlap' or `dos4g'
  6. #
  7. # Use this makefile from the libpcap root directory.
  8. # E.g. like this:
  9. #
  10. # c:\net\pcap> wmake -f msdos\makefile.wc
  11. #
  12. MODEL = 3s
  13. TARGET = dos4g
  14. OBJDIR = msdos\$(TARGET).w$(MODEL)
  15. LIB = $(OBJDIR)\pcap.lib
  16. .EXTENSIONS: .l .y
  17. DEFS = -dDEBUG -dNDIS_DEBUG -d_U_= -dHAVE_LIMITS_H -dHAVE_STRERROR &
  18. -dHAVE_SNPRINTF -dHAVE_VSNPRINTF
  19. CC = wcc386.exe
  20. ASM = wasm.exe -$(MODEL) $(DEFS) -dDOSX -dDOS4GW -zq -bt=dos -fr=nul -d3 -s
  21. OBJS = $(OBJDIR)\grammar.obj $(OBJDIR)\scanner.obj $(OBJDIR)\pcap.obj &
  22. $(OBJDIR)\bpf_filter.obj $(OBJDIR)\bpf_imag.obj $(OBJDIR)\bpf_dump.obj &
  23. $(OBJDIR)\etherent.obj $(OBJDIR)\gencode.obj $(OBJDIR)\nametoad.obj &
  24. $(OBJDIR)\pcap-dos.obj $(OBJDIR)\pktdrvr.obj $(OBJDIR)\optimize.obj &
  25. $(OBJDIR)\savefile.obj $(OBJDIR)\ndis2.obj
  26. CFLAGS = $(DEFS) $(YYDEFS) -I. -I$(%watt_root)\inc -I.\msdos\pm_drvr &
  27. -$(MODEL) -mf -zff -zgf -zq -bt=dos -fr=nul -w6 -fpi &
  28. -oilrtf -zm
  29. TEMPBIN = tmp.bin
  30. all: $(OBJDIR) $(OBJDIR)\pcap.lib
  31. $(OBJDIR):
  32. - mkdir $(OBJDIR)
  33. $(OBJDIR)\pcap.lib: $(OBJS) wlib.arg
  34. wlib -q -b -c $(OBJDIR)\pcap.lib @wlib.arg
  35. wlib.arg: msdos\makefile.wc
  36. %create $^@
  37. for %f in ($(OBJS)) do %append $^@ +- %f
  38. $(OBJDIR)\pktdrvr.obj: msdos\pkt_stub.inc msdos\pktdrvr.c &
  39. pcap-dos.h pcap-int.h pcap.h msdos\pktdrvr.h
  40. *$(CC) $(CFLAGS) msdos\pktdrvr.c -fo=$@
  41. $(OBJDIR)\bpf_filter.obj: bpf\net\bpf_filter.c
  42. *$(CC) $(CFLAGS) bpf\net\bpf_filter.c -fo=$@
  43. $(OBJDIR)\ndis2.obj: msdos\ndis2.c
  44. *$(CC) $(CFLAGS) msdos\ndis2.c -fo=$@
  45. .ERASE
  46. .c{$(OBJDIR)}.obj:
  47. *$(CC) $(CFLAGS) $[@ -fo=$@
  48. grammar.c tokdefs.h: grammar.y
  49. bison --name-prefix=pcap_ --yacc --defines $[@
  50. - @del grammar.c
  51. - @del tokdefs.h
  52. ren y_tab.c grammar.c
  53. ren y_tab.h tokdefs.h
  54. scanner.c: scanner.l
  55. flex -Ppcap_ -7 -o$@ $[@
  56. msdos\pkt_stub.inc: bin2c.exe msdos\pkt_rx1.S
  57. nasm -fbin -dDEBUG -o $(TEMPBIN) -lmsdos\pkt_rx1.lst msdos\pkt_rx1.S
  58. bin2c.exe $(TEMPBIN) > $@
  59. @del $(TEMPBIN)
  60. bin2c.exe: msdos\bin2c.c
  61. wcl $[@
  62. clean realclean vclean: .SYMBOLIC
  63. for %f in (dos4g.w3r dos4g.w3s pharlap.w3r pharlap.w3s) do &
  64. @del %f\*.obj
  65. @del grammar.c
  66. @del tokdefs.h
  67. @del scanner.c
  68. @del bin2c.exe
  69. @del bin2c.obj
  70. @del msdos\pkt_stub.inc
  71. @echo Cleaned
  72. #
  73. # dependencies
  74. #
  75. $(OBJDIR)\bpf_filter.obj: bpf\net\bpf_filter.c pcap-int.h pcap.h pcap-bpf.h
  76. $(OBJDIR)\bpf_imag.obj: bpf_imag.c pcap-int.h pcap.h pcap-bpf.h
  77. $(OBJDIR)\bpf_dump.obj: bpf_dump.c pcap.h pcap-bpf.h
  78. $(OBJDIR)\etherent.obj: etherent.c pcap-int.h pcap.h pcap-bpf.h pcap-namedb.h
  79. $(OBJDIR)\optimize.obj: optimize.c pcap-int.h pcap.h pcap-bpf.h gencode.h
  80. $(OBJDIR)\savefile.obj: savefile.c pcap-int.h pcap.h pcap-bpf.h
  81. $(OBJDIR)\pcap.obj: pcap.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h
  82. $(OBJDIR)\grammar.obj: grammar.c pcap-int.h pcap.h pcap-bpf.h gencode.h &
  83. pcap-namedb.h
  84. $(OBJDIR)\scanner.obj: scanner.c pcap-int.h pcap.h pcap-bpf.h gencode.h &
  85. pcap-namedb.h tokdefs.h
  86. $(OBJDIR)\gencode.obj: gencode.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h &
  87. ethertyp.h nlpid.h llc.h gencode.h atmuni31.h sunatmpo.h ppp.h sll.h &
  88. arcnet.h pcap-namedb.h
  89. $(OBJDIR)\nametoad.obj: nametoad.c pcap-int.h pcap.h pcap-bpf.h gencode.h &
  90. pcap-namedb.h ethertyp.h
  91. $(OBJDIR)\pcap-dos.obj: pcap-dos.c pcap.h pcap-bpf.h pcap-dos.h pcap-int.h &
  92. msdos\pktdrvr.h
  93. $(OBJDIR)\pktdrvr.obj: msdos\pktdrvr.c pcap-dos.h pcap-int.h &
  94. pcap.h pcap-bpf.h msdos\pktdrvr.h msdos\pkt_stub.inc
  95. $(OBJDIR)\ndis2.obj: msdos\ndis2.c pcap-dos.h pcap-int.h pcap.h pcap-bpf.h &
  96. msdos\ndis2.h