From Matt Poduska via bug 1957 (with minor changes):
[obnox/wireshark/wip.git] / plugins / Makefile.nmake
index c3cb1cc06b7687fd7d16021cf0d202c69318d1ab..66fee75b4a948645d4127a72226361f6c94b0c46 100644 (file)
 
 include ..\config.nmake
 
-############### no need to modify below this line #########
-
-all: \
-       acn \
-       agentx \
-       artnet \
-       asn1 \
-       ciscosm \
-       docsis \
-       enttec \
-       giop \
-       gryphon \
-       h223 \
-       irda \
-       lua\
-       lwres \
-       mate \
-       megaco \
-       mgcp \
-       opsi \
-       pcli \
-       profinet \
-       rdm \
-       rlm \
-       rtnet \
-       rudp \
-       stats_tree \
-       v5ua
-
-
-acn:: 
-       cd acn
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-
-agentx:: 
-       cd agentx
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-
-artnet:: 
-       cd artnet
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-
-asn1:: 
-       cd asn1
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-
-ciscosm:: 
-       cd ciscosm
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-
-docsis::
-       cd docsis
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd .. 
-
-enttec::
-       cd enttec
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd .. 
-
-giop::
-       cd giop
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd .. 
-
-gryphon::
-       cd gryphon
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-
-h223::
-       cd h223
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-
-irda::
-       cd irda
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-
-lua::
-!IFDEF LUA_DIR
-       cd lua
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-!ENDIF
-
-lwres::
-       cd lwres
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-
-mate::
-       cd mate
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd .. 
-
-megaco::
-       cd megaco
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd .. 
-
-mgcp::
-       cd mgcp
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd .. 
-opsi::
-       cd opsi
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-
-pcli:: 
-       cd pcli
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
-
-profinet:: 
-       cd profinet
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
+## To add a plugin: Add entry to PLUGIN_LIST
+
+PLUGIN_LIST = \
+       asn1        \
+       docsis      \
+       ethercat    \
+       giop        \
+       gryphon     \
+       interlink   \
+       irda        \
+       llrp        \
+       m2m         \
+       mate        \
+       opcua       \
+       profinet    \
+       sercosiii   \
+       stats_tree  \
+       unistim     \
+       wimax       \
+       wimaxasncp
+
+
+all:
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake PLUGIN_TARGET= process-plugins
+
+clean: clean-local
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake PLUGIN_TARGET=clean process-plugins
+
+distclean: distclean-local
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake PLUGIN_TARGET=distclean process-plugins
+
+maintainer-clean: maintainer-clean-local
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake PLUGIN_TARGET=maintainer-clean process-plugins
+
+
+clean-local:
+       rm -rf $(VERSION)
 
-rdm:: 
-       cd rdm
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
+distclean-local: clean-local
 
-rlm:: 
-       cd rlm
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
+maintainer-clean-local: distclean-local
 
-rtnet:: 
-       cd rtnet
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
+checkapi:
+       $(MAKE) -f Makefile.nmake PLUGIN_TARGET=checkapi process-plugins 
 
-rudp:: 
-       cd rudp
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
 
-stats_tree:: 
-       cd stats_tree
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
 
-v5ua:: 
-       cd v5ua
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake
-       cd ..
+process-plugins : $(PLUGIN_LIST) custom
 
-clean:
-       rm -rf $(VERSION)
-       cd acn
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../agentx
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../artnet
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../asn1
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../ciscosm
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../docsis
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../enttec
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../giop
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../gryphon
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../h223
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../irda
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../lua
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../lwres
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../mate
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../megaco
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../mgcp
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../opsi
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../pcli
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../profinet
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../rdm
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../rlm
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../rtnet
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../rudp
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../stats_tree
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
-       cd ../v5ua
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake clean
+$(PLUGIN_LIST) : _FORCE_   # _FORCE_ req'd since each target actually exists
+       cd $@
+       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake $(PLUGIN_TARGET)
        cd ..
 
-distclean: clean
-       cd acn
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../agentx
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../artnet
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../asn1
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../ciscosm
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../docsis
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../enttec
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../giop
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../gryphon
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../h223
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../irda
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../lua
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../lwres
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../mate
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../megaco
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../mgcp
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../opsi
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../pcli
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../profinet
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../rdm
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../rlm
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../rtnet
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../rudp
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../stats_tree
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ../v5ua
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake distclean
-       cd ..
+custom :
+       if exist Custom.nmake $(MAKE) /$(MAKEFLAGS) -f Custom.nmake $(PLUGIN_TARGET)
 
-maintainer-clean: distclean
-       cd acn
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../agentx
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../artnet
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../asn1
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../ciscosm
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../docsis
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../enttec
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../giop
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../gryphon
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../h223
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../irda
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../lua
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../lwres
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../mate
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../megaco
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../mgcp
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../opsi
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../pcli
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../rdm
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../rlm
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../rtnet
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../rudp
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../stats_tree
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ../v5ua
-       $(MAKE) /$(MAKEFLAGS) -f Makefile.nmake maintainer-clean
-       cd ..
 
 ################################################################################
-# copy all plugins to /plugins/$(VERSION), so Ethereal will load them, when
-# started from within the source tree.
+# copy all plugins to $(INSTALL_DIR)/plugins/$(VERSION), so Wireshark will load them, when
+# started from $(INSTALL_DIR).
 ################################################################################
 
 install-plugins:
-!IFDEF ENABLE_LIBETHEREAL
-       rm -rf $(VERSION)
-       mkdir $(VERSION)
-       xcopy acn\*.dll $(VERSION) /d
-       xcopy agentx\*.dll $(VERSION) /d
-       xcopy artnet\*.dll $(VERSION) /d
-       xcopy asn1\*.dll $(VERSION) /d
-       xcopy ciscosm\*.dll $(VERSION) /d
-       xcopy docsis\*.dll $(VERSION) /d
-       xcopy enttec\*.dll $(VERSION) /d
-       xcopy giop\*.dll $(VERSION) /d
-       xcopy gryphon\*.dll $(VERSION) /d
-       xcopy h223\*.dll $(VERSION) /d
-       xcopy irda\*.dll $(VERSION) /d
-!IFDEF LUA_DIR
-       xcopy lua\*.dll $(VERSION) /d
-!ENDIF
-       xcopy lwres\*.dll $(VERSION) /d
-       xcopy mate\*.dll $(VERSION) /d
-       xcopy megaco\*.dll $(VERSION) /d
-       xcopy mgcp\*.dll $(VERSION) /d
-       xcopy opsi\*.dll $(VERSION) /d
-       xcopy pcli\*.dll $(VERSION) /d
-       xcopy profinet\*.dll $(VERSION) /d
-       xcopy rdm\*.dll $(VERSION) /d
-       xcopy rlm\*.dll $(VERSION) /d
-       xcopy rtnet\*.dll $(VERSION) /d
-       xcopy rudp\*.dll $(VERSION) /d
-       xcopy stats_tree\*.dll $(VERSION) /d
-       xcopy v5ua\*.dll $(VERSION) /d
+!IFDEF ENABLE_LIBWIRESHARK
+       cd ..
+       @for %f in ( $(PLUGIN_LIST) ) do xcopy plugins\%f\*.dll  $(INSTALL_DIR)\plugins\$(VERSION) /d
+       cd plugins
+       if exist Custom.nmake $(MAKE) /$(MAKEFLAGS) -f Custom.nmake install-plugins
 !ENDIF
 
 clean-deps:
-       rm -rf $(VERSION)
-
+       
+####
+_FORCE_:  ## Assumption: no file named _FORCE_ exists in the current directory