#
-# $Id: Makefile.nmake,v 1.38 2003/11/07 23:27:13 guy Exp $
-#
include ..\config.nmake
include <win32.mak>
+include ..\Makefile.nmake.inc
+
+include Makefile.common
-############### no need to modify below this line #########
+# We use GENERATED_CFLAGS to get around flex's non-LLP64-compliant output
+GENERATED_CFLAGS=\
+ $(STANDARD_CFLAGS) \
+ -DYYMALLOC=malloc -DYYFREE=free \
+ /I. /I.. $(GLIB_CFLAGS) \
+ $(ZLIB_CFLAGS) /I$(PCAP_DIR)/include \
+ -DWS_BUILD_DLL
-CFLAGS=-DHAVE_CONFIG_H $(GLIB_CFLAGS) $(ZLIB_CFLAGS) /I$(PCAP_DIR)/include \
- -D_U_="" $(LOCAL_CFLAGS)
+CFLAGS=$(WARNINGS_ARE_ERRORS) $(GENERATED_CFLAGS)
.c.obj::
- $(CC) $(cvarsdll) $(CFLAGS) -Fd.\ -c $<
-
-OBJECTS=ascend-grammar.obj \
- ascend-scanner.obj \
- ascend.obj \
- atm.obj \
- buffer.obj \
- cosine.obj \
- csids.obj \
- dbs-etherwatch.obj \
- erf.obj \
- etherpeek.obj \
- file_access.obj \
- file_wrappers.obj \
- hcidump.obj \
- i4btrace.obj \
- iptrace.obj \
- lanalyzer.obj \
- libpcap.obj \
- netmon.obj \
- nettl.obj \
- network_instruments.obj \
- netxray.obj \
- ngsniffer.obj \
- radcom.obj \
- pppdump.obj \
- snoop.obj \
- toshiba.obj \
- visual.obj \
- vms.obj \
- wtap.obj \
- 5views.obj
+ $(CC) $(CFLAGS) -Fd.\ -c $<
+OBJECTS=$(NONGENERATED_C_FILES:.c=.obj) $(GENERATED_C_FILES:.c=.obj)
wiretap_LIBS = \
$(GLIB_LIBS) \
+ ..\wsutil\libwsutil.lib \
$(ZLIB_LIBS)
all: wiretap-$(WTAP_VERSION).dll
wiretap-$(WTAP_VERSION).lib: wiretap-$(WTAP_VERSION).dll
wiretap-$(WTAP_VERSION).exp: wiretap-$(WTAP_VERSION).dll
-wiretap-$(WTAP_VERSION).dll : $(OBJECTS) wtap.def
+wiretap-$(WTAP_VERSION).dll : $(OBJECTS) ..\image\wiretap.res
$(link) $(dlllflags) $(conlibsdll) \
- $(LOCAL_LDFLAGS) \
- /DEF:wtap.def /OUT:wiretap-$(WTAP_VERSION).dll \
+ $(LOCAL_LDFLAGS) $(DLL_LDFLAGS) \
+ /OUT:wiretap-$(WTAP_VERSION).dll \
/IMPLIB:wiretap-$(WTAP_VERSION).lib \
- $(OBJECTS) $(wiretap_LIBS)
+ ..\image\wiretap.res \
+ $(OBJECTS) ..\wsutil\ws_version_info.obj $(wiretap_LIBS)
-$(OBJECTS): config.h
+RUNLEX = ../tools/runlex.sh
-ascend-grammar.c ascend-grammar.h : ascend-grammar.y
- $(YACC) $(YACC_OPTS) -d -p ascend ascend-grammar.y -o ascend-grammar.c
+k12text_lex.h : k12text.c
+k12text.obj : k12text.c
+ $(CC) $(GENERATED_CFLAGS) -Fd.\ -c $?
-ascend-scanner.obj : ascend-scanner.c ascend-grammar.h
+ascend_scanner_lex.h : ascend_scanner.c
+ascend_scanner.obj : ascend_scanner.c ascend.h
+ $(CC) $(GENERATED_CFLAGS) -Fd.\ -c ascend_scanner.c
-ascend-scanner.c : ascend-scanner.l
- $(LEX) -Pascend -oascend-scanner.c ascend-scanner.l
+ascend_scanner.c : ascend.h
-
-config.h : config.h.win32 ..\config.nmake
- sed -e s/@VERSION@/$(WTAP_VERSION)/ \
- -e "s/@HAVE_LIBZ@/$(ZLIB_CONFIG)/" \
- < config.h.win32 > $@
+ascend.c ascend.h : ascend.y
+ $(YACC) $(YACC_OPTS) -d -p ascend ascend.y -o ascend.c
clean :
rm -f $(OBJECTS) \
- wiretap-$(WTAP_VERSION).lib \
- wiretap-$(WTAP_VERSION).exp \
- wiretap-$(WTAP_VERSION).dll \
- $(PDB_FILE)
+ wiretap-*.lib \
+ wiretap-*.exp \
+ wiretap-*.dll \
+ wiretap-*.dll.manifest \
+ *.nativecodeanalysis.xml *.pdb *.sbr
+#
+# We remove the generated files with "distclean" because one of them,
+# "ascend_scanner.c", needs different #includes for UN*X and Windows
+# (UN*X versions of Flex make it include <unistd.h>, but that's a
+# UN*X-only header), so if you're going to build from source, you need
+# to build "ascend_scanner.c" from "ascend_scanner.l" with Flex.
+# This might not be necessary for "ascend.{c,h}", but as
+# long as you need Flex, you might as well get Bison....
+#
distclean: clean
- rm -f config.h ascend-grammar.c ascend-grammar.h ascend-scanner.c
+ rm -f $(GENERATED_FILES)
+
+maintainer-clean: distclean
+
+checkapi:
+## 'abort' checking disabled for now pending resolution of existing use of g_assert & g_error
+## $(PERL) ../tools/checkAPIs.pl -g abort -g termoutput $(NONGENERATED_C_FILES) $(GENERATOR_FILES)
+ $(PERL) ../tools/checkAPIs.pl -g termoutput -build $(NONGENERATED_C_FILES)