|
| 1 | +# NMake Makefile portion for compilation rules |
| 2 | +# Items in here should not need to be edited unless |
| 3 | +# one is maintaining the NMake build files. The format |
| 4 | +# of NMake Makefiles here are different from the GNU |
| 5 | +# Makefiles. Please see the comments about these formats. |
| 6 | + |
| 7 | +# Inference rules for compiling the .obj files. |
| 8 | +# Used for libs and programs with more than a single source file. |
| 9 | +# Format is as follows |
| 10 | +# (all dirs must have a trailing '\'): |
| 11 | +# |
| 12 | +# {$(srcdir)}.$(srcext){$(destdir)}.obj:: |
| 13 | +# $(CC)|$(CXX) $(cflags) /Fo$(destdir) /c @<< |
| 14 | +# $< |
| 15 | +# << |
| 16 | + |
| 17 | +{..\libxml++\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\}.obj:: |
| 18 | + @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ md vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx |
| 19 | + $(CXX) $(LIBXMLXX_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ /c @<< |
| 20 | +$< |
| 21 | +<< |
| 22 | + |
| 23 | +{..\libxml++\exceptions\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\}.obj:: |
| 24 | + @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ md vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx |
| 25 | + $(CXX) $(LIBXMLXX_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ /c @<< |
| 26 | +$< |
| 27 | +<< |
| 28 | + |
| 29 | +{..\libxml++\io\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\}.obj:: |
| 30 | + @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ md vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx |
| 31 | + $(CXX) $(LIBXMLXX_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ /c @<< |
| 32 | +$< |
| 33 | +<< |
| 34 | + |
| 35 | +{..\libxml++\nodes\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\}.obj:: |
| 36 | + @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ md vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx |
| 37 | + $(CXX) $(LIBXMLXX_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ /c @<< |
| 38 | +$< |
| 39 | +<< |
| 40 | + |
| 41 | +{..\libxml++\parsers\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\}.obj:: |
| 42 | + @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ md vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx |
| 43 | + $(CXX) $(LIBXMLXX_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ /c @<< |
| 44 | +$< |
| 45 | +<< |
| 46 | + |
| 47 | +{..\libxml++\validators\}.cc{vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\}.obj:: |
| 48 | + @if not exist vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ md vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx |
| 49 | + $(CXX) $(LIBXMLXX_CFLAGS) $(CFLAGS_NOGL) /Fovs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ /Fdvs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\ /c @<< |
| 50 | +$< |
| 51 | +<< |
| 52 | + |
| 53 | +{.\libxml++\}.rc{vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\}.res: |
| 54 | + @if not exist $(@D)\ md $(@D) |
| 55 | + rc /fo$@ $< |
| 56 | + |
| 57 | +# Rules for building .lib files |
| 58 | +$(LIBXMLXX_LIB): $(LIBXMLXX_DLL) |
| 59 | + |
| 60 | +# Rules for linking DLLs |
| 61 | +# Format is as follows (the mt command is needed for MSVC 2005/2008 builds): |
| 62 | +# $(dll_name_with_path): $(dependent_libs_files_objects_and_items) |
| 63 | +# link /DLL [$(linker_flags)] [$(dependent_libs)] [/def:$(def_file_if_used)] [/implib:$(lib_name_if_needed)] -out:$@ @<< |
| 64 | +# $(dependent_objects) |
| 65 | +# << |
| 66 | +# @-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;2 |
| 67 | +$(LIBXMLXX_DLL): $(libxmlxx_OBJS) vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\libxml++.def |
| 68 | + link /DLL $(LDFLAGS_NOLTCG) $(LIBXML2_LIBS) /implib:$(LIBXMLXX_LIB) /def:vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\libxml++.def -out:$@ @<< |
| 69 | +$(libxmlxx_OBJS) |
| 70 | +<< |
| 71 | + @-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;2 |
| 72 | + |
| 73 | +# Rules for linking Executables |
| 74 | +# Format is as follows (the mt command is needed for MSVC 2005/2008 builds): |
| 75 | +# $(dll_name_with_path): $(dependent_libs_files_objects_and_items) |
| 76 | +# link [$(linker_flags)] [$(dependent_libs)] -out:$@ @<< |
| 77 | +# $(dependent_objects) |
| 78 | +# << |
| 79 | +# @-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1 |
| 80 | +$(GENDEF): gendef\gendef.cc |
| 81 | + @if not exist $(@D)\gendef\ md $(@D)\gendef |
| 82 | + $(CXX) $(CFLAGS) /Fo$(@D)\gendef\ /Fd$(@D)\gendef\ $** /Fe:$@ /link $(LDFLAGS) -out:$@ |
| 83 | + @-if exist $@.manifest mt /manifest $@.manifest /outputresource:$@;1 |
| 84 | + |
| 85 | +clean: |
| 86 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exe |
| 87 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.dll |
| 88 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.pdb |
| 89 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.ilk |
| 90 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.exp |
| 91 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\*.lib |
| 92 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx-tests\*.obj |
| 93 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx-tests\*.pdb |
| 94 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx-examples\*.obj |
| 95 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx-examples\*.pdb |
| 96 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\*.def |
| 97 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\*.res |
| 98 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\*.obj |
| 99 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx\*.pdb |
| 100 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gendef\*.obj |
| 101 | + @-del /f /q vs$(VSVER)\$(CFG)\$(PLAT)\gendef\*.pdb |
| 102 | + @-rd vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx-tests |
| 103 | + @-rd vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx-examples |
| 104 | + @-rd vs$(VSVER)\$(CFG)\$(PLAT)\libxmlxx |
| 105 | + @-rd vs$(VSVER)\$(CFG)\$(PLAT)\gendef |
0 commit comments