# 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