Blame msdos/makefile.dj

Packit 209cc3
#
Packit 209cc3
# GNU Makefile for DOS-libpcap. djgpp version.
Packit 209cc3
#
Packit 209cc3
# Use this makefile from the libpcap root directory.
Packit 209cc3
# E.g. like this:
Packit 209cc3
#
Packit 209cc3
#  c:\net\pcap> make -f msdos/makefile.dj
Packit 209cc3
#
Packit 209cc3
# Note: you should do a "set LFN=y" before running this makefile.
Packit 209cc3
#
Packit 209cc3
Packit 209cc3
VPATH = missing msdos bpf/net
Packit 209cc3
Packit 209cc3
PREREQUISITES = scanner.c grammar.c tokdefs.h version.h msdos/pkt_stub.inc
Packit 209cc3
Packit 209cc3
include ./msdos/common.dj
Packit 209cc3
Packit 209cc3
DRIVER_DIR = ./msdos/pm_drvr
Packit 209cc3
Packit 209cc3
CFLAGS += -DDEBUG -DNDIS_DEBUG -DHAVE_LIMITS_H -DHAVE_STRERROR -DHAVE_SNPRINTF -DHAVE_VSNPRINTF\
Packit 209cc3
          -D_U_='__attribute__((unused))'
Packit 209cc3
Packit 209cc3
CFLAGS += -Dyylval=pcap_lval # -DBDEBUG -DNDEBUG
Packit 209cc3
Packit 209cc3
SOURCES = grammar.c scanner.c bpf/net/bpf_filter.c bpf_image.c bpf_dump.c \
Packit 209cc3
          etherent.c gencode.c nametoaddr.c pcap-common.c pcap-dos.c optimize.c \
Packit 209cc3
          savefile.c pcap.c sf-pcap.c sf-pcapng.c \
Packit 209cc3
          msdos/pktdrvr.c msdos/ndis2.c # missing/snprintf.c
Packit 209cc3
Packit 209cc3
OBJECTS = $(addprefix $(OBJ_DIR)/, $(notdir $(SOURCES:.c=.o)))
Packit 209cc3
TEMPBIN = tmp.bin
Packit 209cc3
Packit 209cc3
ifeq ($(USE_32BIT_DRIVERS),1)
Packit 209cc3
  PM_OBJECTS = $(addprefix $(OBJ_DIR)/, \
Packit 209cc3
                 printk.o pci.o pci-scan.o bios32.o dma.o irq.o intwrap.o \
Packit 209cc3
                 lock.o kmalloc.o quirks.o timer.o net_init.o)
Packit 209cc3
  #
Packit 209cc3
  # Static link of drivers
Packit 209cc3
  #
Packit 209cc3
  ifeq ($(USE_32BIT_MODULES),0)
Packit 209cc3
    PM_OBJECTS += $(addprefix $(OBJ_DIR)/, \
Packit 209cc3
                    accton.o 8390.o 3c503.o 3c509.o 3c59x.o 3c515.o \
Packit 209cc3
                    3c575_cb.o 3c90x.o ne.o wd.o cs89x0.o rtl8139.o)
Packit 209cc3
  endif
Packit 209cc3
endif
Packit 209cc3
Packit 209cc3
TARGETS = msdos/bin2c.exe libpcap.a filtertest.exe findalldevstest.exe \
Packit 209cc3
          nonblocktest.exe opentest.exe
Packit 209cc3
Packit 209cc3
all: $(TARGETS)
Packit 209cc3
	@echo 'Welcome to libpcap/djgpp with samples.'
Packit 209cc3
Packit 209cc3
ifeq ($(USE_32BIT_DRIVERS),1)
Packit 209cc3
$(PM_OBJECTS):
Packit 209cc3
	$(MAKE) -f Makefile.dj -C $(DRIVER_DIR) $(notdir $@)
Packit 209cc3
endif
Packit 209cc3
Packit 209cc3
libpcap.a: version.h $(OBJECTS) $(PM_OBJECTS)
Packit 209cc3
	rm -f $@
Packit 209cc3
	ar rs $@ $^
Packit 209cc3
Packit 209cc3
filtertest.exe: tests/filtertest.c libpcap.a
Packit 209cc3
	$(CC) $(CFLAGS) -Din_addr_t=u_long -o $@ $^ $(WATT32_ROOT)/lib/libwatt.a
Packit 209cc3
	@echo
Packit 209cc3
Packit 209cc3
findalldevstest.exe: tests/findalldevstest.c libpcap.a
Packit 209cc3
	$(CC) $(CFLAGS) -o $@ $^ $(WATT32_ROOT)/lib/libwatt.a
Packit 209cc3
	@echo
Packit 209cc3
Packit 209cc3
nonblocktest.exe: tests/nonblocktest.c libpcap.a
Packit 209cc3
	$(CC) $(CFLAGS) -o $@ $^ $(WATT32_ROOT)/lib/libwatt.a
Packit 209cc3
	@echo
Packit 209cc3
Packit 209cc3
opentest.exe: tests/opentest.c libpcap.a
Packit 209cc3
	$(CC) $(CFLAGS) -o $@ $^ $(WATT32_ROOT)/lib/libwatt.a
Packit 209cc3
	@echo
Packit 209cc3
Packit 209cc3
msdos/pkt_stub.inc: msdos/bin2c.exe msdos/pkt_rx1.S
Packit 209cc3
	$(ASM) -o $(TEMPBIN) -lmsdos/pkt_rx1.lst msdos/pkt_rx1.S
Packit 209cc3
	./msdos/bin2c $(TEMPBIN) > $@
Packit 209cc3
	rm -f $(TEMPBIN)
Packit 209cc3
Packit 209cc3
grammar.c tokdefs.h: grammar.y
Packit 209cc3
	rm -f grammar.c tokdefs.h
Packit 209cc3
	$(YACC) --name-prefix=pcap_ --yacc --defines grammar.y
Packit 209cc3
	mv -f y.tab.c grammar.c
Packit 209cc3
	mv -f y.tab.h tokdefs.h
Packit 209cc3
Packit 209cc3
version.h: ./VERSION
Packit 209cc3
	@echo '/* Generated from VERSION. Do not edit */' > $@
Packit 209cc3
	sed -e 's/.*/static char pcap_version_string[] = "libpcap (&);;/' ./VERSION >> $@
Packit 209cc3
Packit 209cc3
scanner.c: scanner.l
Packit 209cc3
	$(LEX) -Ppcap_ -7 -t $^ > $@
Packit 209cc3
	@echo
Packit 209cc3
Packit 209cc3
msdos/bin2c.exe: msdos/bin2c.c
Packit 209cc3
	$(CC) $*.c -o $*.exe
Packit 209cc3
Packit 209cc3
clean:
Packit 209cc3
	rm -f $(OBJECTS) msdos/pkt_rx1.lst Makefile.bak .depend.dj $(PREREQUISITES)
Packit 209cc3
#	$(MAKE) -f Makefile.dj -C $(DRIVER_DIR) clean
Packit 209cc3
Packit 209cc3
vclean: clean
Packit 209cc3
	rm -f $(TARGETS)
Packit 209cc3
	-rmdir $(OBJ_DIR)
Packit 209cc3
Packit 209cc3
#
Packit 209cc3
# Manually generated dependencies
Packit 209cc3
#
Packit 209cc3
msdos/pktdrvr.c: msdos/pkt_stub.inc
Packit 209cc3
scanner.c: scanner.l
Packit 209cc3
grammar.c tokdefs.h: grammar.y
Packit 209cc3
grammar.h: grammar.y
Packit 209cc3
scanner.l: pcap-int.h pcap-namedb.h gencode.h grammar.h
Packit 209cc3
grammar.y: pcap-int.h gencode.h pcap-namedb.h
Packit 209cc3
Packit 209cc3
#
Packit 209cc3
# Generate dependencies.
Packit 209cc3
#
Packit 209cc3
REPLACE = sed -e 's/\(.*\)\.o: /\n$$(OBJ_DIR)\/\1.o: /'
Packit 209cc3
Packit 209cc3
depend: $(PREREQUISITES)
Packit 209cc3
	$(CC) -MM $(CFLAGS) $(SOURCES) | $(REPLACE) > .depend.dj
Packit 209cc3
Packit 209cc3
-include .depend.dj
Packit 209cc3