1 # NMake Makefile portion for code generation and
2 # intermediate build directory creation
3 # Items in here should not need to be edited unless
4 # one is maintaining the NMake build files.
6 # Generate pre-generated resources and configuration headers (builds from GIT)
7 prep-git-build: pkg-ver.mak
9 libxml++\libxml++.rc: ..\configure.ac libxml++\libxml++.rc.in libxml++\libxml++config.h
10 @if not "$(DO_REAL_GEN)" == "1" if exist pkg-ver.mak del pkg-ver.mak
11 @if not exist pkg-ver.mak $(MAKE) /f Makefile.vc CFG=$(CFG) prep-git-build
12 @if "$(DO_REAL_GEN)" == "1" echo Generating $@...
13 @if "$(DO_REAL_GEN)" == "1" copy "$@.in" "$@"
14 @if "$(DO_REAL_GEN)" == "1" $(PERL) -pi.bak -e "s/\@LIBXMLXX_MAJOR_VERSION\@/$(PKG_MAJOR_VERSION)/g" $@
15 @if "$(DO_REAL_GEN)" == "1" $(PERL) -pi.bak -e "s/\@LIBXMLXX_MINOR_VERSION\@/$(PKG_MINOR_VERSION)/g" $@
16 @if "$(DO_REAL_GEN)" == "1" $(PERL) -pi.bak -e "s/\@LIBXMLXX_MICRO_VERSION\@/$(PKG_MICRO_VERSION)/g" $@
17 @if "$(DO_REAL_GEN)" == "1" $(PERL) -pi.bak -e "s/\@PACKAGE_VERSION\@/$(PKG_MAJOR_VERSION).$(PKG_MINOR_VERSION).$(PKG_MICRO_VERSION)/g" $@
18 @if "$(DO_REAL_GEN)" == "1" $(PERL) -pi.bak -e "s/\@PACKAGE_NAME\@/libxml++-$(PKG_MAJOR_VERSION).$(PKG_MINOR_VERSION)/g" $@
19 @if "$(DO_REAL_GEN)" == "1" del $@.bak
21 # You may change LIBXMLXX_DISABLE_DEPRECATED if you know what you are doing
22 libxml++\libxml++config.h: ..\configure.ac ..\libxml++config.h.in
23 @if not "$(DO_REAL_GEN)" == "1" if exist pkg-ver.mak del pkg-ver.mak
24 @if not exist pkg-ver.mak $(MAKE) /f Makefile.vc CFG=$(CFG) prep-git-build
25 @if "$(DO_REAL_GEN)" == "1" echo Generating $@...
26 @if "$(DO_REAL_GEN)" == "1" copy "..\$(@F).in" "$@"
27 @if "$(DO_REAL_GEN)" == "1" $(PERL) -pi.bak -e "s/\#undef LIBXMLXX_DISABLE_DEPRECATED/\/\* \#undef LIBXMLXX_DISABLE_DEPRECATED \*\//g" $@
28 @if "$(DO_REAL_GEN)" == "1" $(PERL) -pi.bak -e "s/\#undef LIBXMLXX_HAVE_EXCEPTION_PTR/\#define LIBXMLXX_HAVE_EXCEPTION_PTR 1/g" $@
29 @if "$(DO_REAL_GEN)" == "1" $(PERL) -pi.bak -e "s/\#undef LIBXMLXX_MAJOR_VERSION/\#define LIBXMLXX_MAJOR_VERSION $(PKG_MAJOR_VERSION)/g" $@
30 @if "$(DO_REAL_GEN)" == "1" $(PERL) -pi.bak -e "s/\#undef LIBXMLXX_MINOR_VERSION/\#define LIBXMLXX_MINOR_VERSION $(PKG_MINOR_VERSION)/g" $@
31 @if "$(DO_REAL_GEN)" == "1" $(PERL) -pi.bak -e "s/\#undef LIBXMLXX_MICRO_VERSION/\#define LIBXMLXX_MICRO_VERSION $(PKG_MICRO_VERSION)/g" $@
32 @if "$(DO_REAL_GEN)" == "1" del $@.bak
34 pkg-ver.mak: ..\configure.ac
35 @echo Generating version info Makefile Snippet...
36 @$(PERL) -00 -ne "print if /AC_INIT\(/" $** | \
37 $(PERL) -pe "tr/, /\n/s" | \
38 $(PERL) -ne "print if 2 .. 2" | \
39 $(PERL) -ne "print /\[(.*)\]/" > ver.txt
40 @echo @echo off>pkg-ver.bat
42 @echo set /p libxmlxx_ver=^<ver.txt>>pkg-ver.bat
43 @echo for /f "tokens=1,2,3 delims=." %%%%a IN ("%libxmlxx_ver%") do (echo PKG_MAJOR_VERSION=%%%%a^& echo PKG_MINOR_VERSION=%%%%b^& echo PKG_MICRO_VERSION=%%%%c)^>$@>>pkg-ver.bat
45 @del ver.txt pkg-ver.bat
46 $(MAKE) /f Makefile.vc CFG=$(CFG) GENERATE_VERSIONED_FILES=1 libxml++\libxml++.rc