################################################# # Makefile for axiom [ msvc] # you can do # nmake all = bulid the library and tests # nmake clean - remove all compiler output files # nmake install - install the library and header files # nmake tests - build tests ################################################# !include configure.in #define folders AXIOMSRC = ..\.. AXIOM_DIST_DIR= ..\axiom AXIOM = axiom AXIS2_PARSER = axis2_parser #versioning information #AXIOM_DIST_VERSION = $(AXIOM_MAJOR_VERSION).$(AXIOM_MINOR_VERSION).$(AXIOM_MICRO_VERSION) #compiler options CC = cl.exe CFLAGS = /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "AXIS2_DECLARE_EXPORT" /D "AXIS2_SVR_MULTI_THREADED" /w /nologo CFLAGS = $(CFLAGS) /I$(LIBXML2_INSTALL_DIR)\include /I$(ICONV_INSTALL_DIR)\include /I$(AXIS2_UTIL_INSTALL_DIR)\include /I$(AXIS2_UTIL_INSTALL_DIR)\include\platforms /I$(AXIOMSRC)\include /I$(AXIOMSRC)\src\om /I$(AXIOMSRC)\src\soap /I$(AXIOMSRC)\src\attachments #linker options LD = link.exe LDFLAGS = /nologo /LIBPATH:$(LIBXML2_INSTALL_DIR)\lib /LIBPATH:$(ICONV_INSTALL_DIR)\lib /LIBPATH:$(AXIS2_UTIL_INSTALL_DIR)\lib LIBS = axis2_util.lib libxml2.lib iconv.lib #debug symbols !if "$(DEBUG)" == "1" CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Z7 LDFLAGS = $(LDFLAGS) /DEBUG /NODEFAULTLIB:LIBCMTD.lib !else CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 LDFLAGS = $(LDFLAGS) !endif #create the director structure distdir: if not exist $(AXIOM_DIST_DIR) mkdir $(AXIOM_DIST_DIR) if not exist $(AXIOM_DIST_DIR)\bin mkdir $(AXIOM_DIST_DIR)\bin if not exist $(AXIOM_DIST_DIR)\lib mkdir $(AXIOM_DIST_DIR)\lib if not exist $(AXIOM_DIST_DIR)\include mkdir $(AXIOM_DIST_DIR)\include clean : if exist $(AXIOM_DIST_DIR) rmdir /S /Q $(AXIOM_DIST_DIR) copy_include: xcopy /E $(AXIOMSRC)\include $(AXIOM_DIST_DIR)\include build_axis2_parser: $(CC) $(CFLAGS) $(AXIOMSRC)\src\parser\libxml2\*.c /c $(LD) $(LDFLAGS) $(LIBS) *.obj /DLL /OUT:$(AXIS2_PARSER).dll /IMPLIB:$(AXIS2_PARSER).lib copy $(AXIS2_PARSER).dll $(AXIOM_DIST_DIR)\bin copy $(AXIS2_PARSER).lib $(AXIOM_DIST_DIR)\lib del *.obj del *.dll del *.exp del *.lib build_axiom: $(CC) $(CFLAGS) $(AXIOMSRC)\src\om\*.c $(AXIOMSRC)\src\soap\*.c $(AXIOMSRC)\src\attachments\*.c $(AXIOMSRC)\src\util\*.c /c $(LD) $(LDFLAGS) $(LIBS) *.obj $(AXIOM_DIST_DIR)\lib\axis2_parser.lib /DLL /OUT:$(AXIOM).dll /IMPLIB:$(AXIOM).lib copy $(AXIOM).dll $(AXIOM_DIST_DIR)\bin copy $(AXIOM).lib $(AXIOM_DIST_DIR)\lib del *.obj del *.dll del *.exp del *.lib install: clean distdir build_axis2_parser build_axiom copy_include