1*d56f51eaSDavid van Moolenbroek# 2*d56f51eaSDavid van Moolenbroek# GNU Makefile for DOS-libpcap. djgpp version. 3*d56f51eaSDavid van Moolenbroek# 4*d56f51eaSDavid van Moolenbroek# Use this makefile from the libpcap root directory. 5*d56f51eaSDavid van Moolenbroek# E.g. like this: 6*d56f51eaSDavid van Moolenbroek# 7*d56f51eaSDavid van Moolenbroek# c:\net\pcap> make -f msdos/makefile.dj 8*d56f51eaSDavid van Moolenbroek# 9*d56f51eaSDavid van Moolenbroek 10*d56f51eaSDavid van MoolenbroekVPATH = missing msdos 11*d56f51eaSDavid van Moolenbroek 12*d56f51eaSDavid van MoolenbroekPREREQUISITES = scanner.c grammar.c tokdefs.h version.h msdos/pkt_stub.inc 13*d56f51eaSDavid van Moolenbroek 14*d56f51eaSDavid van Moolenbroekinclude msdos/common.dj 15*d56f51eaSDavid van Moolenbroek 16*d56f51eaSDavid van MoolenbroekDRIVER_DIR = ./msdos/pm_drvr 17*d56f51eaSDavid van Moolenbroek 18*d56f51eaSDavid van MoolenbroekCFLAGS += -DDEBUG -DNDIS_DEBUG -DHAVE_LIMITS_H -DHAVE_STRERROR \ 19*d56f51eaSDavid van Moolenbroek -D_U_='__attribute__((unused))' -DHAVE_VERSION_H 20*d56f51eaSDavid van Moolenbroek 21*d56f51eaSDavid van Moolenbroek# CFLAGS += -Dyylval=pcap_lval -DBDEBUG -DNDEBUG 22*d56f51eaSDavid van Moolenbroek 23*d56f51eaSDavid van MoolenbroekSOURCES = grammar.c scanner.c bpf_filt.c bpf_imag.c bpf_dump.c \ 24*d56f51eaSDavid van Moolenbroek etherent.c gencode.c nametoad.c pcap-dos.c optimize.c \ 25*d56f51eaSDavid van Moolenbroek savefile.c pcap.c inet.c msdos\pktdrvr.c msdos/ndis2.c \ 26*d56f51eaSDavid van Moolenbroek missing/snprintf.c 27*d56f51eaSDavid van Moolenbroek 28*d56f51eaSDavid van MoolenbroekOBJECTS = $(notdir $(SOURCES:.c=.o)) 29*d56f51eaSDavid van MoolenbroekTEMPBIN = tmp.bin 30*d56f51eaSDavid van Moolenbroek 31*d56f51eaSDavid van Moolenbroekifeq ($(USE_32BIT_DRIVERS),1) 32*d56f51eaSDavid van Moolenbroek PM_OBJECTS = $(addprefix $(DRIVER_DIR)/, \ 33*d56f51eaSDavid van Moolenbroek printk.o pci.o pci-scan.o bios32.o dma.o irq.o intwrap.o \ 34*d56f51eaSDavid van Moolenbroek lock.o kmalloc.o quirks.o timer.o net_init.o) 35*d56f51eaSDavid van Moolenbroek # 36*d56f51eaSDavid van Moolenbroek # Static link of drivers 37*d56f51eaSDavid van Moolenbroek # 38*d56f51eaSDavid van Moolenbroek ifeq ($(USE_32BIT_MODULES),0) 39*d56f51eaSDavid van Moolenbroek PM_OBJECTS += $(addprefix $(DRIVER_DIR)/, \ 40*d56f51eaSDavid van Moolenbroek accton.o 8390.o 3c503.o 3c509.o 3c59x.o 3c515.o \ 41*d56f51eaSDavid van Moolenbroek 3c575_cb.o 3c90x.o ne.o wd.o cs89x0.o rtl8139.o) 42*d56f51eaSDavid van Moolenbroek endif 43*d56f51eaSDavid van Moolenbroekendif 44*d56f51eaSDavid van Moolenbroek 45*d56f51eaSDavid van Moolenbroekall: libpcap.a 46*d56f51eaSDavid van Moolenbroek 47*d56f51eaSDavid van Moolenbroekifeq ($(USE_32BIT_DRIVERS),1) 48*d56f51eaSDavid van Moolenbroek$(PM_OBJECTS): 49*d56f51eaSDavid van Moolenbroek $(MAKE) -f Makefile.dj -C $(DRIVER_DIR) $(notdir $@) 50*d56f51eaSDavid van Moolenbroekendif 51*d56f51eaSDavid van Moolenbroek 52*d56f51eaSDavid van Moolenbroeklibpcap.a: version.h $(OBJECTS) $(PM_OBJECTS) 53*d56f51eaSDavid van Moolenbroek rm -f $@ 54*d56f51eaSDavid van Moolenbroek ar rs $@ $^ 55*d56f51eaSDavid van Moolenbroek 56*d56f51eaSDavid van Moolenbroekmsdos/pkt_stub.inc: msdos/bin2c.exe msdos/pkt_rx1.S 57*d56f51eaSDavid van Moolenbroek $(ASM) -o $(TEMPBIN) -lmsdos/pkt_rx1.lst msdos/pkt_rx1.S 58*d56f51eaSDavid van Moolenbroek ./msdos/bin2c $(TEMPBIN) > $@ 59*d56f51eaSDavid van Moolenbroek rm -f $(TEMPBIN) 60*d56f51eaSDavid van Moolenbroek 61*d56f51eaSDavid van Moolenbroekgrammar.c tokdefs.h: grammar.y 62*d56f51eaSDavid van Moolenbroek rm -f grammar.c tokdefs.h 63*d56f51eaSDavid van Moolenbroek $(YACC) --name-prefix=pcap_ --yacc --defines grammar.y 64*d56f51eaSDavid van Moolenbroek mv -f y_tab.c grammar.c 65*d56f51eaSDavid van Moolenbroek mv -f y_tab.h tokdefs.h 66*d56f51eaSDavid van Moolenbroek 67*d56f51eaSDavid van Moolenbroekversion.h: ./VERSION 68*d56f51eaSDavid van Moolenbroek @echo '/* Generated from VERSION. Do not edit */' > $@ 69*d56f51eaSDavid van Moolenbroek sed -e 's/.*/static char pcap_version_string[] = "libpcap (&)";/' ./VERSION >> $@ 70*d56f51eaSDavid van Moolenbroek 71*d56f51eaSDavid van Moolenbroekscanner.c: scanner.l 72*d56f51eaSDavid van Moolenbroek $(LEX) -Ppcap_ -7 -t $^ > $@ 73*d56f51eaSDavid van Moolenbroek @echo 74*d56f51eaSDavid van Moolenbroek 75*d56f51eaSDavid van Moolenbroekmsdos/bin2c.exe: msdos/bin2c.c 76*d56f51eaSDavid van Moolenbroek $(CC) $*.c -o $*.exe 77*d56f51eaSDavid van Moolenbroek 78*d56f51eaSDavid van Moolenbroekclean: 79*d56f51eaSDavid van Moolenbroek $(MAKE) -f Makefile.dj -C $(DRIVER_DIR) clean 80*d56f51eaSDavid van Moolenbroek $(MAKE) -f Makefile.dj -C libcpcap clean 81*d56f51eaSDavid van Moolenbroek rm -f $(OBJECTS) msdos/pkt_rx1.lst Makefile.bak $(PREREQUISITES) 82*d56f51eaSDavid van Moolenbroek 83*d56f51eaSDavid van Moolenbroekvclean: clean 84*d56f51eaSDavid van Moolenbroek rm -f libpcap.a msdos/bin2c.exe 85*d56f51eaSDavid van Moolenbroek 86*d56f51eaSDavid van Moolenbroek# 87*d56f51eaSDavid van Moolenbroek# Generated dependencies; Due to some hacks in gcc 2.95 and djgpp 2.03 88*d56f51eaSDavid van Moolenbroek# we must prevent "$(DJDIR)/bin/../include/sys/version.h" from beeing 89*d56f51eaSDavid van Moolenbroek# included in dependency output (or else this makefile cannot be used on 90*d56f51eaSDavid van Moolenbroek# another machine). We therefore use a special 'specs' file during 91*d56f51eaSDavid van Moolenbroek# pre-processing. 92*d56f51eaSDavid van Moolenbroek# 93*d56f51eaSDavid van MoolenbroekMM_SPECS = specs.tmp 94*d56f51eaSDavid van MoolenbroekMAKEFILE = msdos/Makefile.dj 95*d56f51eaSDavid van Moolenbroek 96*d56f51eaSDavid van Moolenbroekdepend: $(PREREQUISITES) 97*d56f51eaSDavid van Moolenbroek @echo Generating dependencies.. 98*d56f51eaSDavid van Moolenbroek @cp $(MAKEFILE) Makefile.bak 99*d56f51eaSDavid van Moolenbroek @echo "*cpp: %(cpp_cpu) %{posix:-D_POSIX_SOURCE} -remap" > $(MM_SPECS) 100*d56f51eaSDavid van Moolenbroek sed -e "/^# DO NOT DELETE THIS LINE/,$$d" < Makefile.bak > $(MAKEFILE) 101*d56f51eaSDavid van Moolenbroek echo "# DO NOT DELETE THIS LINE" >> $(MAKEFILE) 102*d56f51eaSDavid van Moolenbroek $(CC) -MM -specs=$(MM_SPECS) $(CFLAGS) $(SOURCES) >> $(MAKEFILE) 103*d56f51eaSDavid van Moolenbroek rm -f $(MM_SPECS) 104*d56f51eaSDavid van Moolenbroek 105*d56f51eaSDavid van Moolenbroek# 106*d56f51eaSDavid van Moolenbroek# Manually generated dependencies 107*d56f51eaSDavid van Moolenbroek# 108*d56f51eaSDavid van Moolenbroekmsdos/pktdrvr.c: msdos/pkt_stub.inc 109*d56f51eaSDavid van Moolenbroekscanner.c: scanner.l 110*d56f51eaSDavid van Moolenbroekgrammar.c tokdefs.h: grammar.y 111*d56f51eaSDavid van Moolenbroekgrammar.h: grammar.y 112*d56f51eaSDavid van Moolenbroekscanner.l: pcap-int.h pcap-namedb.h gencode.h grammar.h gnuc.h 113*d56f51eaSDavid van Moolenbroekgrammar.y: pcap-int.h gencode.h pcap-namedb.h gnuc.h 114*d56f51eaSDavid van Moolenbroek 115*d56f51eaSDavid van Moolenbroek# 116*d56f51eaSDavid van Moolenbroek# Automatically generated dependencies 117*d56f51eaSDavid van Moolenbroek# 118*d56f51eaSDavid van Moolenbroek# DO NOT DELETE THIS LINE 119*d56f51eaSDavid van Moolenbroekgrammar.o: grammar.c pcap-int.h pcap.h pcap-bpf.h gencode.h pf.h \ 120*d56f51eaSDavid van Moolenbroek pcap-namedb.h 121*d56f51eaSDavid van Moolenbroekscanner.o: scanner.c pcap-int.h pcap.h pcap-bpf.h gencode.h pcap-namedb.h \ 122*d56f51eaSDavid van Moolenbroek tokdefs.h 123*d56f51eaSDavid van Moolenbroekbpf_filt.o: bpf_filt.c pcap-int.h pcap.h pcap-bpf.h gnuc.h 124*d56f51eaSDavid van Moolenbroekbpf_imag.o: bpf_imag.c pcap-int.h pcap.h pcap-bpf.h 125*d56f51eaSDavid van Moolenbroekbpf_dump.o: bpf_dump.c pcap.h pcap-bpf.h 126*d56f51eaSDavid van Moolenbroeketherent.o: etherent.c pcap-int.h pcap.h pcap-bpf.h pcap-namedb.h 127*d56f51eaSDavid van Moolenbroekgencode.o: gencode.c pcap-dos.h msdos/pm_drvr/lock.h pcap-int.h pcap.h \ 128*d56f51eaSDavid van Moolenbroek pcap-bpf.h ethertype.h nlpid.h llc.h gencode.h atmuni31.h sunatmpos.h \ 129*d56f51eaSDavid van Moolenbroek ppp.h sll.h arcnet.h pf.h pcap-namedb.h 130*d56f51eaSDavid van Moolenbroeknametoad.o: nametoad.c pcap-int.h pcap.h pcap-bpf.h gencode.h \ 131*d56f51eaSDavid van Moolenbroek pcap-namedb.h ethertype.h 132*d56f51eaSDavid van Moolenbroekpcap-dos.o: pcap-dos.c msdos/pm_drvr/pmdrvr.h msdos/pm_drvr/iface.h \ 133*d56f51eaSDavid van Moolenbroek msdos/pm_drvr/lock.h msdos/pm_drvr/ioport.h pcap-dos.h pcap-int.h \ 134*d56f51eaSDavid van Moolenbroek pcap.h pcap-bpf.h msdos/pm_drvr/kmalloc.h msdos/pm_drvr/bitops.h \ 135*d56f51eaSDavid van Moolenbroek msdos/pm_drvr/timer.h msdos/pm_drvr/dma.h msdos/pm_drvr/irq.h \ 136*d56f51eaSDavid van Moolenbroek msdos/pm_drvr/printk.h msdos/pm_drvr/pci.h msdos/pm_drvr/bios32.h \ 137*d56f51eaSDavid van Moolenbroek msdos/pm_drvr/module.h msdos/pm_drvr/3c501.h msdos/pm_drvr/3c503.h \ 138*d56f51eaSDavid van Moolenbroek msdos/pm_drvr/3c509.h msdos/pm_drvr/3c59x.h msdos/pm_drvr/3c515.h \ 139*d56f51eaSDavid van Moolenbroek msdos/pm_drvr/3c90x.h msdos/pm_drvr/3c575_cb.h msdos/pm_drvr/ne.h \ 140*d56f51eaSDavid van Moolenbroek msdos/pm_drvr/wd.h msdos/pm_drvr/accton.h msdos/pm_drvr/cs89x0.h \ 141*d56f51eaSDavid van Moolenbroek msdos/pm_drvr/rtl8139.h msdos/pm_drvr/ne2k-pci.h msdos/pktdrvr.h 142*d56f51eaSDavid van Moolenbroekoptimize.o: optimize.c pcap-int.h pcap.h pcap-bpf.h gencode.h 143*d56f51eaSDavid van Moolenbroeksavefile.o: savefile.c pcap-int.h pcap.h pcap-bpf.h 144*d56f51eaSDavid van Moolenbroekpcap.o: pcap.c pcap-dos.h msdos/pm_drvr/lock.h pcap-int.h pcap.h \ 145*d56f51eaSDavid van Moolenbroek pcap-bpf.h 146*d56f51eaSDavid van Moolenbroekinet.o: inet.c pcap-int.h pcap.h pcap-bpf.h 147*d56f51eaSDavid van Moolenbroekpktdrvr.o: msdos/pktdrvr.c gnuc.h pcap-dos.h msdos/pm_drvr/lock.h \ 148*d56f51eaSDavid van Moolenbroek pcap-int.h pcap.h pcap-bpf.h msdos/pktdrvr.h msdos/pkt_stub.inc 149*d56f51eaSDavid van Moolenbroekndis2.o: msdos/ndis2.c pcap-dos.h msdos/pm_drvr/lock.h pcap-int.h pcap.h \ 150*d56f51eaSDavid van Moolenbroek pcap-bpf.h msdos/ndis2.h 151*d56f51eaSDavid van Moolenbroeksnprintf.o: missing/snprintf.c pcap-int.h pcap.h pcap-bpf.h 152