The current year is 2004
[obnox/wireshark/wip.git] / Makefile.nmake
index cfdd71a781beeffb455ec7fce3c677e751e00d0d..def23fc4f923a19334f37fb037eae6358559fa7f 100644 (file)
@@ -1,7 +1,7 @@
 ## Makefile for building ethereal.exe with Microsoft C and nmake
 ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake
 #
-# $Id: Makefile.nmake,v 1.304 2003/06/11 01:33:04 gerald Exp $
+# $Id: Makefile.nmake,v 1.394 2004/01/18 03:55:02 guy Exp $
 
 include config.nmake
 include <win32.mak>
@@ -13,12 +13,10 @@ LINK= link
 
 LDFLAGS = /NOLOGO /INCREMENTAL:no /MACHINE:I386 $(LOCAL_LDFLAGS)
 
-CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) /I$(GLIB_DIR) /I$(GLIB_DIR)\gmodule \
-       /I$(GTK_DIR) /I. /Iwiretap /I$(GTK_DIR)\gdk /I$(GTK_DIR)\gdk\win32 \
-       /I$(ZLIB_DIR) /I$(PCAP_DIR)\include \
+CFLAGS=-DHAVE_CONFIG_H $(LOCAL_CFLAGS) $(GTK_CFLAGS) /I. /Iwiretap \
+       $(ZLIB_CFLAGS) /I$(PCAP_DIR)\include \
        /I$(NET_SNMP_DIR)\include /I$(NET_SNMP_DIR)\win32 \
-       /I$(ADNS_DIR)\src /I$(ADNS_DIR)\adns_win32 \
-       -D_U_=""
+       $(ADNS_CFLAGS) $(PCRE_CFLAGS) -D_U_=""
 
 CVARSDLL=-DWIN32 -DNULL=0 -D_MT -D_DLL
 
@@ -32,7 +30,12 @@ DISSECTOR_SRC = \
        packet-afs.c   \
        packet-aim.c   \
        packet-ajp13.c          \
+       packet-alcap.c \
        packet-ans.c   \
+       packet-ansi_a.c   \
+       packet-ansi_637.c   \
+       packet-ansi_683.c   \
+       packet-ansi_map.c   \
        packet-aodv.c  \
        packet-arcnet.c \
        packet-arp.c   \
@@ -45,21 +48,27 @@ DISSECTOR_SRC = \
        packet-bacapp.c   \
        packet-bacnet.c   \
        packet-beep.c \
+       packet-bfd.c   \
        packet-bgp.c   \
        packet-bofl.c  \
        packet-bootp.c \
        packet-bootparams.c \
        packet-bpdu.c  \
        packet-brdwlk.c \
+       packet-bssap.c \
+       packet-bssgp.c \
        packet-bvlc.c \
+       packet-ccsds.c \
        packet-cdp.c   \
        packet-cgmp.c  \
        packet-chdlc.c  \
+       packet-cisco-oui.c \
        packet-clearcase.c  \
        packet-clip.c  \
        packet-clnp.c  \
        packet-cops.c  \
        packet-cosine.c  \
+       packet-cpfi.c  \
        packet-cpha.c  \
        packet-cups.c  \
        packet-data.c  \
@@ -69,6 +78,8 @@ DISSECTOR_SRC = \
        packet-dcerpc-atsvc.c \
        packet-dcerpc-bossvr.c  \
        packet-dcerpc-browser.c  \
+       packet-dcerpc-budb.c  \
+       packet-dcerpc-butc.c  \
        packet-dcerpc-cds_clerkserver.c  \
        packet-dcerpc-cds_solicit.c  \
        packet-dcerpc-conv.c  \
@@ -76,15 +87,20 @@ DISSECTOR_SRC = \
        packet-dcerpc-dce122.c \
        packet-dcerpc-dfs.c \
        packet-dcerpc-dnsserver.c \
+       packet-dcerpc-drsuapi.c \
        packet-dcerpc-dtsprovider.c \
        packet-dcerpc-dtsstime_req.c \
        packet-dcerpc-epm.c  \
+       packet-dcerpc-epm4.c  \
        packet-dcerpc-fldb.c  \
        packet-dcerpc-ftserver.c \
+       packet-dcerpc-icl_rpc.c \
+       packet-dcerpc-initshutdown.c \
        packet-dcerpc-krb5rpc.c \
        packet-dcerpc-lsa.c \
        packet-dcerpc-lsa-ds.c \
        packet-dcerpc-mapi.c  \
+       packet-dcerpc-messenger.c  \
        packet-dcerpc-mgmt.c  \
        packet-dcerpc-ndr.c  \
        packet-dcerpc-netlogon.c \
@@ -97,8 +113,11 @@ DISSECTOR_SRC = \
        packet-dcerpc-rpriv.c  \
        packet-dcerpc-rs_acct.c  \
        packet-dcerpc-rs_attr.c  \
+       packet-dcerpc-rs_bind.c  \
        packet-dcerpc-rs_misc.c  \
+       packet-dcerpc-rs_plcy.c  \
        packet-dcerpc-rs_pgo.c  \
+       packet-dcerpc-rs_prop_acct.c \
        packet-dcerpc-rs_repadm.c  \
        packet-dcerpc-rs_replist.c  \
        packet-dcerpc-rs_unix.c  \
@@ -110,6 +129,7 @@ DISSECTOR_SRC = \
        packet-dcerpc-svcctl.c \
        packet-dcerpc-tapi.c \
        packet-dcerpc-tkn4int.c \
+       packet-dcerpc-trksvr.c \
        packet-dcerpc-ubikdisk.c \
        packet-dcerpc-ubikvote.c \
        packet-dcerpc-update.c \
@@ -118,6 +138,7 @@ DISSECTOR_SRC = \
        packet-dec-bpdu.c \
        packet-dhcpv6.c \
        packet-diameter.c \
+       packet-diffserv-mpls-common.c \
        packet-distcc.c \
        packet-dlsw.c  \
        packet-dns.c   \
@@ -125,8 +146,11 @@ DISSECTOR_SRC = \
        packet-dvmrp.c \
        packet-eap.c \
        packet-eapol.c \
+       packet-echo.c \
+       packet-edonkey.c \
        packet-eigrp.c \
        packet-enc.c    \
+       packet-enip.c   \
        packet-esis.c  \
        packet-eth.c   \
        packet-etherip.c        \
@@ -140,6 +164,8 @@ DISSECTOR_SRC = \
        packet-fcip.c \
        packet-fclctl.c \
        packet-fcp.c \
+       packet-fcsb3.c \
+       packet-fcsp.c \
        packet-fcswils.c \
        packet-fddi.c  \
        packet-fix.c   \
@@ -150,12 +176,20 @@ DISSECTOR_SRC = \
        packet-giop.c  \
        packet-gmrp.c \
        packet-gnutella.c \
+       packet-gprs-ns.c \
        packet-gre.c   \
+       packet-gsm_a.c   \
+       packet-gsm_map.c   \
+       packet-gsm_sms.c   \
        packet-gssapi.c \
        packet-gtp.c   \
        packet-gvrp.c  \
        packet-h1.c    \
+       packet-h225.c  \
+       packet-h245.c  \
        packet-h261.c  \
+       packet-h263.c  \
+       packet-h450.c  \
        packet-hclnfsd.c  \
        packet-hpext.c \
        packet-hsrp.c  \
@@ -169,14 +203,18 @@ DISSECTOR_SRC = \
        packet-icq.c   \
        packet-ieee80211.c \
        packet-ieee8023.c \
+       packet-igap.c  \
        packet-igmp.c  \
        packet-igrp.c  \
+       packet-image-gif.c \
+       packet-image-jfif.c \
        packet-imap.c   \
        packet-ip.c    \
        packet-ipfc.c    \
        packet-ipmi.c  \
        packet-ipp.c   \
        packet-ipsec.c \
+       packet-ipsec-udp.c \
        packet-ipv6.c  \
        packet-ipx.c   \
        packet-ipxwan.c \
@@ -190,22 +228,27 @@ DISSECTOR_SRC = \
        packet-isis-lsp.c \
        packet-isis-snp.c \
        packet-isl.c   \
+       packet-ismp.c   \
        packet-isns.c \
        packet-isup.c  \
        packet-iua.c   \
+       packet-jabber.c \
        packet-kadm5.c \
        packet-kerberos.c \
        packet-klm.c   \
+       packet-kpasswd.c   \
        packet-l2tp.c  \
        packet-lapb.c  \
        packet-lapbether.c \
        packet-lapd.c  \
+       packet-laplink.c  \
        packet-ldap.c  \
        packet-ldp.c  \
        packet-llc.c   \
        packet-lmi.c   \
        packet-lmp.c   \
        packet-lpd.c   \
+       packet-lwapp.c \
        packet-m2pa.c  \
        packet-m2tp.c  \
        packet-m2ua.c  \
@@ -226,6 +269,7 @@ DISSECTOR_SRC = \
        packet-mtp2.c \
        packet-mtp3.c \
        packet-mtp3mg.c \
+       packet-multipart.c \
        packet-mysql.c \
        packet-nbipx.c \
        packet-nbns.c  \
@@ -242,13 +286,18 @@ DISSECTOR_SRC = \
        packet-nlm.c   \
        packet-nlsp.c  \
        packet-nntp.c  \
+       packet-nt-oui.c \
+       packet-nt-sonmp.c \
+       packet-nt-tpcp.c \
        packet-ntlmssp.c  \
        packet-ntp.c  \
        packet-null.c  \
+       packet-olsr.c  \
        packet-osi.c   \
        packet-osi-options.c \
        packet-ospf.c  \
        packet-pcnfsd.c \
+       packet-per.c \
        packet-pflog.c \
        packet-pgm.c   \
        packet-pim.c   \
@@ -257,9 +306,11 @@ DISSECTOR_SRC = \
        packet-ppp.c   \
        packet-pppoe.c \
        packet-pptp.c  \
+       packet-pres.c  \
        packet-prism.c \
        packet-q2931.c \
        packet-q931.c  \
+       packet-q933.c  \
        packet-qllc.c  \
        packet-quake.c \
        packet-quake2.c \
@@ -283,6 +334,7 @@ DISSECTOR_SRC = \
        packet-rsync.c \
        packet-rtcp.c  \
        packet-rtp.c   \
+       packet-rtp-events.c \
        packet-rtsp.c  \
        packet-rwall.c \
        packet-rx.c  \
@@ -294,6 +346,9 @@ DISSECTOR_SRC = \
        packet-sctp.c  \
        packet-sdlc.c  \
        packet-sdp.c   \
+       packet-sebek.c   \
+       packet-ses.c   \
+       packet-sflow.c \
        packet-sip.c   \
        packet-skinny.c   \
        packet-slimp3.c   \
@@ -320,12 +375,17 @@ DISSECTOR_SRC = \
        packet-ssl.c   \
        packet-stat.c   \
        packet-stat-notify.c \
+       packet-stun.c  \
        packet-sua.c   \
        packet-syslog.c \
+       packet-t38.c    \
        packet-tacacs.c \
+       packet-tcap.c \
        packet-tcp.c   \
        packet-tds.c   \
        packet-telnet.c\
+       packet-teredo.c\
+       packet-text-media.c \
        packet-tftp.c  \
        packet-time.c  \
        packet-tns.c \
@@ -369,7 +429,13 @@ DISSECTOR_SRC = \
 DISSECTOR_OBJECTS = $(DISSECTOR_SRC:.c=.obj)
 
 TETHEREAL_TAP_SRC = \
+       tap-ansi_astat.c        \
+       tap-bootpstat.c         \
        tap-dcerpcstat.c        \
+       tap-gsm_astat.c         \
+       tap-h225counter.c       \
+       tap-h225rassrt.c        \
+       tap-httpstat.c          \
        tap-iostat.c            \
        tap-iousers.c           \
        tap-mgcpstat.c          \
@@ -378,41 +444,58 @@ TETHEREAL_TAP_SRC = \
        tap-rpcstat.c           \
        tap-rpcprogs.c          \
        tap-smbsids.c           \
-       tap-smbstat.c
+       tap-smbstat.c           \
+       tap-wspstat.c
 
 TETHEREAL_TAP_OBJECTS = $(TETHEREAL_TAP_SRC:.c=.obj)
 
-ETHEREAL_COMMON_OBJECTS = \
+DISSECTOR_SUPPORT_OBJECTS = \
+       adler32.obj      \
        afn.obj          \
        asn1.obj         \
-       capture_stop_conditions.obj \
-       capture-wpcap.obj \
-       cfile.obj       \
        column.obj       \
-       conditions.obj   \
+       crc32.obj        \
        crypt-des.obj    \
        crypt-md4.obj    \
        crypt-md5.obj    \
        crypt-rc4.obj    \
        follow.obj       \
        g711.obj        \
-       getopt.obj       \
+       h225-persistentdata.obj \
        in_cksum.obj     \
        ipproto.obj      \
        packet-dcerpc-nt.obj \
-       pcap-util.obj    \
        prefs.obj        \
-       print.obj        \
-       ps.obj           \
        ptvcursor.obj    \
        reassemble.obj   \
+       req_resp_hdrs.obj \
+       t35.obj         \
+       tap.obj         \
+       util.obj        \
+       xdlc.obj        \
+       xmlstub.obj
+
+BUILT_SOURCES = \
+       cvsversion.h    \
+       x11-declarations.h \
+       x11-register-info.h
+
+ETHEREAL_COMMON_OBJECTS = \
+       $(DISSECTOR_SUPPORT_OBJECTS) \
+       capture_stop_conditions.obj \
+       capture-wpcap.obj \
+       cfile.obj       \
+       conditions.obj   \
+       disabled_protos.obj     \
+       getopt.obj       \
+       pcap-util.obj    \
+       print.obj        \
+       ps.obj           \
+       range.obj        \
        register.obj     \
        ringbuffer.obj   \
-       tap.obj         \
        timestats.obj   \
-       util.obj         \
-       xdlc.obj         \
-       xmlstub.obj      \
+       version_info.obj
 
 ethereal_OBJECTS = \
        $(DISSECTOR_OBJECTS) \
@@ -432,7 +515,7 @@ tethereal_OBJECTS = \
 
 dftest_OBJECTS = \
        $(DISSECTOR_OBJECTS) \
-       $(ETHEREAL_COMMON_OBJECTS) \
+       $(DISSECTOR_SUPPORT_OBJECTS) \
        dftest.obj
 
 randpkt_OBJECTS = \
@@ -448,66 +531,57 @@ ethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        gtk\libui.lib epan\ethereal.lib \
        epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
        wsock32.lib user32.lib \
-       $(GTK_DIR)\gtk\gtk-$(GTK_VERSION).lib \
-       $(GTK_DIR)\gdk\gdk-$(GTK_VERSION).lib \
-       $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
-       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib \
-!IFDEF ADNS_DIR
-       $(ADNS_DIR)\adns_win32\lib\adns_dll.lib \
-!ENDIF
-       $(NET_SNMP_DIR)\win32\lib\libsnmp.lib
+       $(GTK_LIBS) \
+       $(ADNS_LIBS) \
+       $(PCRE_LIBS) \
+       $(NET_SNMP_DIR)\win32\lib\netsnmp.lib
 #      $(PCAP_DIR)\lib\wpcap.lib
 
 tethereal_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        epan\ethereal.lib \
        epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
        wsock32.lib user32.lib \
-       $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
-       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib \
-!IFDEF ADNS_DIR
-       $(ADNS_DIR)\adns_win32\lib\adns_dll.lib \
-!ENDIF
-       $(NET_SNMP_DIR)\win32\lib\libsnmp.lib
+       $(GLIB_LIBS) \
+       $(ADNS_LIBS) \
+       $(PCRE_LIBS) \
+       $(NET_SNMP_DIR)\win32\lib\netsnmp.lib
 
 editcap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        wsock32.lib user32.lib \
-       $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
-       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
+       $(GLIB_LIBS)
 
 mergecap_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        wsock32.lib user32.lib \
-       $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
-       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
+       $(GLIB_LIBS)
 
 dftest_LIBS=  wiretap\wiretap-$(WTAP_VERSION).lib epan\ethereal.lib \
        epan\dfilter\dfilter.lib epan\ftypes\ftypes.lib \
        wsock32.lib user32.lib \
        wiretap\wiretap-$(WTAP_VERSION).lib \
-       $(GLIB_DIR)\glib-$(GLIB_VERSION).lib \
-       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib
+       $(GLIB_LIBS)
 
 randpkt_LIBS= wiretap\wiretap-$(WTAP_VERSION).lib \
        user32.lib \
-       $(GLIB_DIR)\gmodule\gmodule-$(GLIB_VERSION).lib \
-       $(NET_SNMP_DIR)\win32\lib\libsnmp.lib
+       $(GLIB_LIBS) \
+       $(NET_SNMP_DIR)\win32\lib\netsnmp.lib
 
 EXECUTABLES=ethereal.exe tethereal.exe editcap.exe mergecap.exe text2pcap.exe
 
 RESOURCES=image\ethereal.res image\tethereal.res image\editcap.res image\mergecap.res image\text2pcap.res
 
-all: tools wiretap gtk epan image $(EXECUTABLES) $(RESOURCES)
+all: tools wiretap gtk epan image $(EXECUTABLES) $(RESOURCES) doc
 
 $(RESOURCES): image
 
 wiretap\wiretap-$(WTAP_VERSION).lib: wiretap
 
-ethereal.exe   : config.h $(ethereal_OBJECTS) $(EXTRA_OBJECTS) epan gtk image\ethereal.res wiretap\wiretap-$(WTAP_VERSION).lib gtk\libui.lib plugins
+ethereal.exe   : config.h cvsversion.h $(ethereal_OBJECTS) $(EXTRA_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) $(ethereal_OBJECTS) $(EXTRA_OBJECTS) image\ethereal.res
 <<
 
-tethereal.exe  : config.h $(tethereal_OBJECTS) $(EXTRA_OBJECTS) epan image\tethereal.res wiretap\wiretap-$(WTAP_VERSION).lib plugins
+tethereal.exe  : config.h cvsversion.h $(tethereal_OBJECTS) $(EXTRA_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
@@ -519,7 +593,7 @@ editcap.exe : config.h editcap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).li
                /OUT:editcap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console editcap.obj getopt.obj $(editcap_LIBS) image\editcap.res
 <<
 
-mergecap.exe   : config.h mergecap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\mergecap.res
+mergecap.exe   : config.h cvsversion.h mergecap.obj getopt.obj wiretap\wiretap-$(WTAP_VERSION).lib image\mergecap.res
        @echo Linking $@
        $(LINK) @<<
                /OUT:mergecap.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console mergecap.obj getopt.obj $(mergecap_LIBS) image\mergecap.res
@@ -541,12 +615,26 @@ randpkt.exe       : $(randpkt_OBJECTS) $(EXTRA_OBJECTS)
                /OUT:randpkt.exe $(conflags) $(conlibsdll) $(LDFLAGS) /SUBSYSTEM:console $(randpkt_LIBS) $(randpkt_OBJECTS)
 <<
 
-config.h       : config.h.win32
-       sed -e s/@VERSION@/$(VERSION)/ < config.h.win32 > $@
+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_LIBZ@/$(ZLIB_CONFIG)/" \
+           -e "s/@HAVE_LIBPCAP@/$(WINPCAP_CONFIG)/" \
+           -e "s/@HAVE_PCAP_FINDALLDEVS@/$(PCAP_FINDALLDEVS_CONFIG)/" \
+           -e "s/@WPCAP_CONSTIFIED@/$(WPCAP_CONSTIFIED_CONFIG)/" \
+           < config.h.win32 > $@
 
 ps.c   : rdps.exe print.ps
        rdps print.ps ps.c
 
+
+#
+# Build the version string
+#
+cvsversion.h:
+       $(PERL) make-version.pl
+
 #
 # The header files listed here are built from x11-fields using Perl;
 # we declare a dependency here so that they get built.
@@ -638,8 +726,8 @@ clean:
        rm -f $(ethereal_OBJECTS) $(tethereal_OBJECTS) $(EXTRA_OBJECTS) \
                $(EXECUTABLES) $(PDB_FILE) \
                editcap.obj mergecap.obj text2pcap.obj \
-               text2pcap-scanner.obj text2pcap-scanner.c register.c \
-               rdps.obj rdps.pdb config.h ps.c \
+               text2pcap-scanner.obj text2pcap-scanner.c rdps.obj \
+               rdps.pdb config.h ps.c \
                rdps.exe rdps.ilk dftest.obj dftest.exe randpkt.obj randpkt.ext \
                $(RESOURCES)
        cd wiretap
@@ -656,6 +744,8 @@ clean:
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
        cd ../doc
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+       cd ../help
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
        cd ../packaging/nsis
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
        cd ../..
@@ -663,7 +753,27 @@ clean:
 # Call distclean only, if you would like to remove ALL generated files.
 # Be sure to have python and perl installed to regenerate them.
 distclean: clean
-       rm -f x11-declarations.h x11-register-info.h packet-ncp2222.c
+       rm -f $(BUILT_SOURCES) \
+               packet-ncp2222.c register.c tethereal-tap-register.c 
+       cd wiretap
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+       cd ../gtk
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+       cd ../epan
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+       cd ../plugins
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+       cd ../tools
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+       cd ../image
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+       cd ../doc
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+       cd ../help
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+       cd ../packaging/nsis
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
+       cd ../..
 
 tools::
        cd tools
@@ -680,7 +790,7 @@ wiretap::
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
        cd ..
 
-gtk:: config.h
+gtk:: help config.h
        cd gtk
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
        cd ..
@@ -694,3 +804,13 @@ plugins::
        cd plugins
        $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
        cd ..
+
+doc::
+       cd doc
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
+       cd ..
+
+help::
+       cd help
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
+       cd ..