| # Makefile.win for Win32 ActiveMQ-CPP | |
| # | |
| # Targets are: | |
| # | |
| # build - compile everything | |
| # check - run APR regression tests | |
| # install - compile everything | |
| # clean - mop up everything | |
| # | |
| # You can override the build mechansim, choose only one; | |
| # | |
| # USEMAK=1 - compile from exported make files | |
| # USESLN=1 - compile from converted .sln / .vcproj VC7+ files | |
| # | |
| # Define ARCH to your desired preference (your PATH must point | |
| # to the correct compiler tools!) Choose only one; | |
| # | |
| # ARCH="Win32" | |
| # ARCH="x64" | |
| # | |
| # Set CONFIG to your desired build type. | |
| # | |
| # CONFIG="ReleaseDLL" | |
| # CONFIG="DebugDLL" | |
| # CONFIG="Release" | |
| # CONFIG="Debug" | |
| # | |
| # Set VERBOCITY to indicate how much information is logged about the build. | |
| # | |
| # VERBOCITY=quiet | |
| # VERBOCITY=minimal | |
| # VERBOCITY=normal | |
| # VERBOCITY=detailed | |
| # VERBOCITY=diagnostic | |
| # | |
| # For example; | |
| # | |
| # nmake -f Makefile.win PREFIX=C:\ActiveMQ-CPP build check install clean | |
| # | |
| !IF EXIST(".\vs2005-build\vs2005-activemq-cpp.sln") && ([msbuild /help > NUL 2>&1] == 0) \ | |
| && !defined(USEMAK) | |
| USESLN=1 | |
| USEMAK=0 | |
| !ELSEIF EXIST("activemq-cpp.mak") | |
| USESLN=0 | |
| USEMAK=1 | |
| !ENDIF | |
| CONFIGS="Release ReleaseDLL Debug DebugDLL" | |
| PREFIX=..\ActiveMQ-CPP | |
| CONFIG=Release | |
| VERBOCITY=Normal | |
| !IF [$(COMSPEC) /c cl /nologo /? \ | |
| | $(SystemRoot)\System32\find.exe "x64" >NUL ] == 0 | |
| ARCH=x64 | |
| !ELSE | |
| ARCH=Win32 | |
| !ENDIF | |
| !IF "$(CONFIG)" == "Debug" || "$(CONFIG)" == "DebugDLL" | |
| POSTFIX="d" | |
| !ENDIF | |
| !MESSAGE ARCH = $(ARCH) | |
| !MESSAGE CONFIG = $(CONFIG) | |
| !MESSAGE VERBOCITY = $(VERBOCITY) | |
| !MESSAGE PREFIX = $(PREFIX) (install path) | |
| rebuild: clean build | |
| all: build check | |
| clean: | |
| cd vs2005-build | |
| -msbuild vs2005-activemq-cpp.sln /t:vs2005-activemq:Clean /p:Configuration=$(CONFIG);Platform=$(ARCH) /verbosity:$(VERBOCITY) | |
| -msbuild vs2005-activemq-cpp.sln /t:vs2005-activemq-example:Clean /p:Configuration=$(CONFIG);Platform=$(ARCH) | |
| -msbuild vs2005-activemq-cpp.sln /t:vs2005-activemq-integration-tests:Clean /p:Configuration=$(CONFIG);Platform=$(ARCH) | |
| -msbuild vs2005-activemq-cpp.sln /t:vs2005-activemq-unittests:Clean /p:Configuration=$(CONFIG);Platform=$(ARCH) | |
| cd .. | |
| build: | |
| cd vs2005-build | |
| -msbuild vs2005-activemq-cpp.sln /t:vs2005-activemq /p:Configuration=$(CONFIG);Platform=$(ARCH) /verbosity:$(VERBOCITY) | |
| -msbuild vs2005-activemq-cpp.sln /t:vs2005-activemq-example /p:Configuration=$(CONFIG);Platform=$(ARCH) | |
| -msbuild vs2005-activemq-cpp.sln /t:vs2005-activemq-integration-tests /p:Configuration=$(CONFIG);Platform=$(ARCH) | |
| -msbuild vs2005-activemq-cpp.sln /t:vs2005-activemq-unittests /p:Configuration=$(CONFIG);Platform=$(ARCH) | |
| cd .. | |
| checkamq: | |
| cd vs2005-build\$(CONFIG) | |
| .\vs2005-activemq-unittests.exe | |
| cd ..\..\ | |
| check: checkamq | |
| install: | |
| echo Y >.y | |
| echo A >.A | |
| @if NOT EXIST "$(PREFIX)\." mkdir "$(PREFIX)" | |
| @if NOT EXIST "$(PREFIX)\bin\." mkdir "$(PREFIX)\bin" | |
| @if NOT EXIST "$(PREFIX)\include\." mkdir "$(PREFIX)\include" | |
| @if NOT EXIST "$(PREFIX)\lib\." mkdir "$(PREFIX)\lib" | |
| copy RELEASE_NOTES.txt "$(PREFIX)\RELEASE_NOTES.txt" <.y | |
| copy LICENSE.txt "$(PREFIX)\LICENSE.txt" <.y | |
| copy NOTICE.txt "$(PREFIX)\NOTICE.txt" <.y | |
| xcopy src\main\*.h "$(PREFIX)\include\" /s /d < .a | |
| !IF "$(CONFIG)" == "Debug" || "$(CONFIG)" == "Release" | |
| copy .\vs2005-build\$(ARCH)\$(CONFIG)\libactivemq-cpp$(POSTFIX).lib "$(PREFIX)\lib\" <.y | |
| !ELSE | |
| copy .\vs2005-build\$(ARCH)\$(CONFIG)\activemq-cpp$(POSTFIX).lib "$(PREFIX)\lib\" <.y | |
| copy .\vs2005-build\$(ARCH)\$(CONFIG)\activemq-cpp$(POSTFIX).exp "$(PREFIX)\lib\" <.y | |
| copy .\vs2005-build\$(ARCH)\$(CONFIG)\activemq-cpp$(POSTFIX).dll "$(PREFIX)\bin\" <.y | |
| copy .\vs2005-build\$(ARCH)\$(CONFIG)\activemq-cpp$(POSTFIX).pdb "$(PREFIX)\bin\" <.y | |
| !ENDIF | |
| del .y | |
| del .a | |