"ssn_range" needs to be a copy of "global_ssn_range", so that it's not
[obnox/wireshark/wip.git] / Makefile.nmake
index 62969d764b5a85c55466b42c276e4b42a9dd90ec..db2d240dfd22affe65f85adfa349a46779b5630c 100644 (file)
@@ -34,7 +34,7 @@ BUILT_SOURCES =       $(BUILT_SOURCES) \
 
 DISSECTOR_SUPPORT_SRC = $(DISSECTOR_SUPPORT_SRC:../=)
 DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_SRC:.c=.obj)
-DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_OBJECTS:../=)
+#DISSECTOR_SUPPORT_OBJECTS = $(DISSECTOR_SUPPORT_OBJECTS:../=)
 
 ethereal_OBJECTS = $(ethereal_SOURCES:.c=.obj)
 tethereal_OBJECTS = $(tethereal_SOURCES:.c=.obj)
@@ -50,7 +50,7 @@ EXTRA_OBJECTS = \
 
 ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        wsock32.lib user32.lib shell32.lib \
-       $(NET_SNMP_DIR)\win32\lib\netsnmp.lib \
+       $(NET_SNMP_DIR)\win32\lib\release\netsnmp.lib \
 !IFDEF ENABLE_LIBETHEREAL
        epan\libethereal.lib \
 !ELSE
@@ -66,7 +66,7 @@ ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
 tethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        wsock32.lib user32.lib \
        $(GLIB_LIBS) \
-       $(NET_SNMP_DIR)\win32\lib\netsnmp.lib \
+       $(NET_SNMP_DIR)\win32\lib\release\netsnmp.lib \
 !IFDEF ENABLE_LIBETHEREAL
        epan\libethereal.lib \
 !ELSE
@@ -78,6 +78,10 @@ tethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        $(ZLIB_LIBS)
 !ENDIF
 
+capinfo_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
+       wsock32.lib user32.lib \
+       $(GLIB_LIBS)
+
 editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        wsock32.lib user32.lib \
        $(GLIB_LIBS)
@@ -89,7 +93,7 @@ mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
 dftest_LIBS=  wiretap\wiretap-$(WTAP_VERSION).lib \
        wsock32.lib user32.lib \
        $(GLIB_LIBS) \
-       $(NET_SNMP_DIR)\win32\lib\netsnmp.lib \
+       $(NET_SNMP_DIR)\win32\lib\release\netsnmp.lib \
 !IFDEF ENABLE_LIBETHEREAL
        epan\libethereal.lib \
 !ELSE
@@ -104,11 +108,14 @@ dftest_LIBS=  wiretap\wiretap-$(WTAP_VERSION).lib \
 randpkt_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        user32.lib \
        $(GLIB_LIBS) \
-       $(NET_SNMP_DIR)\win32\lib\netsnmp.lib
+       $(NET_SNMP_DIR)\win32\lib\release\netsnmp.lib
 
-EXECUTABLES=ethereal.exe ethereal-gtk2.exe tethereal.exe editcap.exe mergecap.exe text2pcap.exe
+EXECUTABLES=ethereal.exe ethereal-gtk2.exe tethereal.exe \
+       capinfo.exe editcap.exe mergecap.exe text2pcap.exe
 
-RESOURCES=image\ethereal.res image\libethereal.res image\tethereal.res image\editcap.res image\mergecap.res image\text2pcap.res
+RESOURCES=image\ethereal.res image\libethereal.res image\tethereal.res \
+       image\capinfo.res image\editcap.res image\mergecap.res \
+       image\text2pcap.res image\wiretap.res
 
 all: config.h tools image wiretap epan $(EXECUTABLES) $(RESOURCES) doc
 
@@ -138,27 +145,33 @@ wiretap\wiretap-$(WTAP_VERSION).lib: wiretap
 !IFNDEF GTK1_DIR
 ethereal.exe   : 
 !ELSE
-ethereal.exe   : config.h svnversion.h $(ethereal_OBJECTS) $(EXTRA_OBJECTS) epan gtk image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk\libui.lib plugins
+ethereal.exe   : config.h svnversion.h $(ethereal_OBJECTS) epan gtk image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk\libui.lib plugins
        @echo Linking $@
        $(LINK) @<<
-               /OUT:ethereal.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(GTK1_LIBS) gtk\libui.lib $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
+               /OUT:ethereal.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(GTK1_LIBS) gtk\libui.lib $(ethereal_OBJECTS) image\ethereal.res
 <<
 !ENDIF
 
 !IFNDEF GTK2_DIR
 ethereal-gtk2.exe      : 
 !ELSE
-ethereal-gtk2.exe      : config.h svnversion.h $(ethereal_OBJECTS) $(EXTRA_OBJECTS) epan gtk2 image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk2.tmp\libui.lib plugins
+ethereal-gtk2.exe      : config.h svnversion.h $(ethereal_OBJECTS) epan gtk2 image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk2.tmp\libui.lib plugins
        @echo Linking $@
        $(LINK) @<<
-               /OUT:ethereal-gtk2.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(GTK2_LIBS) gtk2.tmp\libui.lib $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
+               /OUT:ethereal-gtk2.exe $(guiflags) $(guilibsdll) $(LDFLAGS) /SUBSYSTEM:windows $(ethereal_LIBS) $(GTK2_LIBS) gtk2.tmp\libui.lib $(ethereal_OBJECTS) image\ethereal.res
 <<
 !ENDIF
 
-tethereal.exe  : config.h svnversion.h $(tethereal_OBJECTS) $(EXTRA_OBJECTS) epan image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
+tethereal.exe  : config.h svnversion.h $(tethereal_OBJECTS) epan image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
        @echo Linking $@
        $(LINK) @<<
-               /OUT:tethereal.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(tethereal_LIBS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) image\tethereal.res
+               /OUT:tethereal.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(tethereal_LIBS) $(tethereal_OBJECTS) image\tethereal.res
+<<
+
+capinfo.exe    : config.h capinfo.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\capinfo.res
+       @echo Linking $@
+       $(LINK) @<<
+               /OUT:capinfo.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console capinfo.obj getopt.obj $(capinfo_LIBS) image\capinfo.res
 <<
 
 editcap.exe    : config.h editcap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\editcap.res
@@ -179,12 +192,12 @@ text2pcap.exe     : config.h text2pcap.obj text2pcap-scanner.obj getopt.obj strptime
                /OUT:text2pcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console text2pcap.obj text2pcap-scanner.obj getopt.obj strptime.obj image\text2pcap.res
 <<
 
-dftest.exe     : $(dftest_OBJECTS) $(EXTRA_OBJECTS) epan
+dftest.exe     : $(dftest_OBJECTS) epan
        $(LINK) @<<
-               /OUT:dftest.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(dftest_LIBS) $(dftest_OBJECTS) $(EXTRA_OBJECTS)
+               /OUT:dftest.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(dftest_LIBS) $(dftest_OBJECTS)
 <<
 
-randpkt.exe    : $(randpkt_OBJECTS) $(EXTRA_OBJECTS)
+randpkt.exe    : $(randpkt_OBJECTS)
        $(LINK) @<<
                /OUT:randpkt.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(randpkt_LIBS) $(randpkt_OBJECTS)
 <<
@@ -193,12 +206,14 @@ config.h  : config.h.win32 config.nmake
        sed -e s/@VERSION@/$(VERSION)/ \
            -e "s/@HAVE_GNU_ADNS@/$(ADNS_CONFIG)/" \
            -e "s/@HAVE_PCRE@/$(PCRE_CONFIG)/" \
+           -e "s/@HAVE_NETTLE@/$(NETTLE_CONFIG)/" \
            -e "s/@HAVE_LIBZ@/$(ZLIB_CONFIG)/" \
            -e "s/@HAVE_LIBPCAP@/$(WINPCAP_CONFIG)/" \
            -e "s/@HAVE_PCAP_FINDALLDEVS@/$(PCAP_FINDALLDEVS_CONFIG)/" \
+           -e "s/@HAVE_PCAP_DATALINK_NAME_TO_VAL@/$(PCAP_DATALINK_NAME_TO_VAL_CONFIG)/" \
+           -e "s/@HAVE_PCAP_DATALINK_VAL_TO_NAME@/$(PCAP_DATALINK_VAL_TO_NAME_CONFIG)/" \
            -e "s/@HAVE_LIBETHEREALDLL@/$(LIBETHEREAL_CONFIG)/" \
            -e "s/@WPCAP_CONSTIFIED@/$(WPCAP_CONSTIFIED_CONFIG)/" \
-           -e "s/@HAVE_LIBETHEREALDLL@/$(LIBETHEREAL_CONFIG)/" \
            < config.h.win32 > $@
 
 ps.c   : rdps.exe print.ps
@@ -214,7 +229,7 @@ svnversion.h:
 #
 # Build the short version of the authors file for the about dialog
 #
-AUTHORS-SHORT: AUTHORS make-authors-short.pl
+AUTHORS-SHORT: AUTHORS make-authors-short.pl make-authors-short2.pl
        $(PERL) make-authors-short.pl < AUTHORS > AUTHORS-SHORT
 
 
@@ -247,10 +262,10 @@ gtk2_distclean:
 clean: gtk2_distclean
        rm -f $(ethereal_OBJECTS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) \
                $(EXECUTABLES) $(PDB_FILE) \
-               editcap.obj mergecap.obj text2pcap.obj getopt.obj\
+               capinfo.obj editcap.obj mergecap.obj text2pcap.obj getopt.obj\
                text2pcap-scanner.obj text2pcap-scanner.c rdps.obj \
-               rdps.pdb config.h ps.c AUTHORS-SHORT \
-               rdps.exe rdps.ilk dftest.obj dftest.exe randpkt.obj randpkt.ext \
+               rdps.pdb rdps.exe rdps.ilk config.h ps.c AUTHORS-SHORT \
+               dftest.obj dftest.exe randpkt.obj randpkt.ext doxygen.cfg \
                $(RESOURCES)
        cd wiretap
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
@@ -326,7 +341,7 @@ gtk2:: help config.h svnversion.h AUTHORS-SHORT
        $(MAKE) /$(MAKEFLAGS) /f Makefile.nmake GTK_CFLAGS="$(GTK2_CFLAGS)" GTK_LIBS="$(GTK2_LIBS)" libui.lib
        cd ..
 
-epan:: $(DISSECTOR_SUPPORT_OBJECTS) $(EXTRA_OBJECTS) $(RESOURCES) doxygen
+epan:: $(DISSECTOR_SUPPORT_OBJECTS) $(EXTRA_OBJECTS) $(RESOURCES) $(BUILT_SOURCES) doxygen
        cd epan
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
        cd ..
@@ -357,7 +372,7 @@ doxygen-run:
 
 doxygen: doxygen.cfg doxygen-run
 
-REQUIRED_APPS=\
+REQUIRED_TOOLS=\
        $(SH)   \
        $(YACC) \
        $(LEX)  \
@@ -368,15 +383,17 @@ REQUIRED_APPS=\
        unzip   \
        wget
 
-verify_apps:
-       @$(SH) tools\win32-setup.sh --appverify $(REQUIRED_APPS)
+verify_tools:
+       @$(SH) tools\win32-setup.sh --appverify $(REQUIRED_TOOLS)
 
-setup: verify_apps
+# Download and install all the required libraries into ETHEREAL_LIBS.
+# If you used this setup target before, consider doing a clean_setup.
+setup: verify_tools
 !IF "$(GTK2_INST_VERSION)" == "2.4"
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
-               glib gtk2.4/glib-2.4.2.zip
+               glib gtk2.4/glib-2.4.7.zip
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
-               glib gtk2.4/glib-dev-2.4.2.zip
+               glib gtk2.4/glib-dev-2.4.7.zip
 !ELSE
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
                glib glib-2.2.3-20040116.zip
@@ -395,7 +412,7 @@ setup: verify_apps
                gettext-runtime-0.13.1 gettext-runtime-0.13.1.zip
 !IFDEF NET_SNMP_DIR
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
-               . net-snmp-5.1.zip
+               . net-snmp-5.1.2.zip
 !ENDIF
 !IFDEF PCAP_DIR
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
@@ -403,7 +420,7 @@ setup: verify_apps
 !ENDIF
 !IFDEF ADNS_DIR
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
-               . adns-1.0-win32-03.zip
+               . adns-1.0-win32-04.zip
 !ENDIF
 !IFDEF PCRE_DIR
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
@@ -416,9 +433,9 @@ setup: verify_apps
 !IFDEF GTK2_DIR
 !IF "$(GTK2_INST_VERSION)" == "2.4"
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
-               gtk2 gtk2.4/gtk+-2.4.3.zip
+               gtk2 gtk2.4/gtk+-2.4.10-20041001.zip
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
-               gtk2 gtk2.4/gtk+-dev-2.4.3.zip
+               gtk2 gtk2.4/gtk+-dev-2.4.10.zip
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
                gtk2 gtk2.4/atk-1.6.0.zip
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
@@ -435,9 +452,9 @@ setup: verify_apps
 !ENDIF
 !IF "$(PANGO_INST_VERSION)" == "1.4"
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
-               gtk2 gtk2.4/pango-1.4.0.zip
+               gtk2 gtk2.4/pango-1.4.1.zip
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
-               gtk2 gtk2.4/pango-dev-1.4.0.zip
+               gtk2 gtk2.4/pango-dev-1.4.1.zip
 !ELSE
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
                gtk2 gtk2/pango-1.2.5-20040124.zip
@@ -447,11 +464,22 @@ setup: verify_apps
 !ENDIF
 !IFDEF GTK_WIMP_DIR
        @$(SH) tools\win32-setup.sh --download "$(ETHEREAL_LIBS)" \
-               gtk-wimp gtk2/gtk-wimp-0.5.4-bin.zip
+               gtk-wimp gtk-wimp/gtk-wimp-0.6.2-bin.zip
 !ENDIF
        @echo.
        @echo Ethereal is ready to build.
 
+# Cleanup files installed by the setup target. It will not remove the 
+# downloaded zip files.
+clean_setup:
+    rm -r -f $(ETHEREAL_LIBS)/glib
+    rm -r -f $(ETHEREAL_LIBS)/gtk+
+    rm -r -f $(ETHEREAL_LIBS)/libiconv-1.9.1.bin.woe32
+    rm -r -f $(ETHEREAL_LIBS)/gettext-runtime-0.13.1
+    rm -r -f $(ETHEREAL_LIBS)/zlib121-dll
+    rm -r -f $(ETHEREAL_LIBS)/gtk2
+    rm -r -f $(ETHEREAL_LIBS)/gtk-wimp
+
 update_plugin_api: config.h
        cd plugins
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake xyzzy