mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-10-21 14:53:44 +03:00
introduced double-run compilation
This commit is contained in:
@@ -65,6 +65,7 @@ XML_A = $(XML_BASENAME)_a.lib
|
|||||||
|
|
||||||
# Place where we let the compiler put its intermediate trash.
|
# Place where we let the compiler put its intermediate trash.
|
||||||
XML_INTDIR = $(XML_BASENAME).int
|
XML_INTDIR = $(XML_BASENAME).int
|
||||||
|
XML_INTDIR_A = $(XML_BASENAME)_a.int
|
||||||
UTILS_INTDIR = utils.int
|
UTILS_INTDIR = utils.int
|
||||||
|
|
||||||
# The preprocessor and its options.
|
# The preprocessor and its options.
|
||||||
@@ -94,12 +95,8 @@ LIBS =
|
|||||||
LIBS = $(LIBS) wsock32.lib
|
LIBS = $(LIBS) wsock32.lib
|
||||||
!endif
|
!endif
|
||||||
!if "$(WITH_ICONV)" == "1"
|
!if "$(WITH_ICONV)" == "1"
|
||||||
!if "$(STATIC)" == "1"
|
|
||||||
LIBS = $(LIBS) iconv_a.lib
|
|
||||||
!else
|
|
||||||
LIBS = $(LIBS) iconv.lib
|
LIBS = $(LIBS) iconv.lib
|
||||||
!endif
|
!endif
|
||||||
!endif
|
|
||||||
!if "$(WITH_ZLIB)" == "1"
|
!if "$(WITH_ZLIB)" == "1"
|
||||||
LIBS = $(LIBS) zlib.lib
|
LIBS = $(LIBS) zlib.lib
|
||||||
!endif
|
!endif
|
||||||
@@ -150,6 +147,39 @@ XML_OBJS = $(XML_INTDIR)\c14n.obj\
|
|||||||
$(XML_INTDIR)\xpath.obj\
|
$(XML_INTDIR)\xpath.obj\
|
||||||
$(XML_INTDIR)\xpointer.obj
|
$(XML_INTDIR)\xpointer.obj
|
||||||
|
|
||||||
|
# Static libxml object files.
|
||||||
|
XML_OBJS_A = $(XML_INTDIR_A)\c14n.obj\
|
||||||
|
$(XML_INTDIR_A)\catalog.obj\
|
||||||
|
$(XML_INTDIR_A)\debugXML.obj\
|
||||||
|
$(XML_INTDIR_A)\DOCBparser.obj\
|
||||||
|
$(XML_INTDIR_A)\encoding.obj\
|
||||||
|
$(XML_INTDIR_A)\entities.obj\
|
||||||
|
$(XML_INTDIR_A)\error.obj\
|
||||||
|
$(XML_INTDIR_A)\globals.obj\
|
||||||
|
$(XML_INTDIR_A)\hash.obj\
|
||||||
|
$(XML_INTDIR_A)\HTMLparser.obj\
|
||||||
|
$(XML_INTDIR_A)\HTMLtree.obj\
|
||||||
|
$(XML_INTDIR_A)\list.obj\
|
||||||
|
$(XML_INTDIR_A)\nanoftp.obj\
|
||||||
|
$(XML_INTDIR_A)\nanohttp.obj\
|
||||||
|
$(XML_INTDIR_A)\parser.obj\
|
||||||
|
$(XML_INTDIR_A)\parserInternals.obj\
|
||||||
|
$(XML_INTDIR_A)\SAX.obj\
|
||||||
|
$(XML_INTDIR_A)\threads.obj\
|
||||||
|
$(XML_INTDIR_A)\tree.obj\
|
||||||
|
$(XML_INTDIR_A)\uri.obj\
|
||||||
|
$(XML_INTDIR_A)\valid.obj\
|
||||||
|
$(XML_INTDIR_A)\xinclude.obj\
|
||||||
|
$(XML_INTDIR_A)\xlink.obj\
|
||||||
|
$(XML_INTDIR_A)\xmlIO.obj\
|
||||||
|
$(XML_INTDIR_A)\xmlmemory.obj\
|
||||||
|
$(XML_INTDIR_A)\xmlregexp.obj\
|
||||||
|
$(XML_INTDIR_A)\xmlschemas.obj\
|
||||||
|
$(XML_INTDIR_A)\xmlschemastypes.obj\
|
||||||
|
$(XML_INTDIR_A)\xmlunicode.obj\
|
||||||
|
$(XML_INTDIR_A)\xpath.obj\
|
||||||
|
$(XML_INTDIR_A)\xpointer.obj
|
||||||
|
|
||||||
# Xmllint and friends executables.
|
# Xmllint and friends executables.
|
||||||
UTILS = $(BINDIR)\xmllint.exe\
|
UTILS = $(BINDIR)\xmllint.exe\
|
||||||
$(BINDIR)\xmlcatalog.exe\
|
$(BINDIR)\xmlcatalog.exe\
|
||||||
@@ -163,14 +193,17 @@ UTILS = $(BINDIR)\xmllint.exe\
|
|||||||
$(BINDIR)\testURI.exe\
|
$(BINDIR)\testURI.exe\
|
||||||
$(BINDIR)\testXPath.exe
|
$(BINDIR)\testXPath.exe
|
||||||
|
|
||||||
all : libxml utils
|
all : libxml libxmla utils
|
||||||
|
|
||||||
libxml : $(BINDIR)\$(XML_SO) $(BINDIR)\$(XML_A)
|
libxml : $(BINDIR)\$(XML_SO)
|
||||||
|
|
||||||
|
libxmla : $(BINDIR)\$(XML_A)
|
||||||
|
|
||||||
utils : $(UTILS)
|
utils : $(UTILS)
|
||||||
|
|
||||||
clean :
|
clean :
|
||||||
if exist $(XML_INTDIR) rmdir /S /Q $(XML_INTDIR)
|
if exist $(XML_INTDIR) rmdir /S /Q $(XML_INTDIR)
|
||||||
|
if exist $(XML_INTDIR_A) rmdir /S /Q $(XML_INTDIR_A)
|
||||||
if exist $(UTILS_INTDIR) rmdir /S /Q $(UTILS_INTDIR)
|
if exist $(UTILS_INTDIR) rmdir /S /Q $(UTILS_INTDIR)
|
||||||
if exist $(BINDIR) rmdir /S /Q $(BINDIR)
|
if exist $(BINDIR) rmdir /S /Q $(BINDIR)
|
||||||
|
|
||||||
@@ -205,13 +238,24 @@ $(BINDIR) :
|
|||||||
$(XML_INTDIR) :
|
$(XML_INTDIR) :
|
||||||
if not exist $(XML_INTDIR) mkdir $(XML_INTDIR)
|
if not exist $(XML_INTDIR) mkdir $(XML_INTDIR)
|
||||||
|
|
||||||
|
# Makes the static libxml intermediate directory.
|
||||||
|
$(XML_INTDIR_A) :
|
||||||
|
if not exist $(XML_INTDIR_A) mkdir $(XML_INTDIR_A)
|
||||||
|
|
||||||
# An implicit rule for libxml compilation.
|
# An implicit rule for libxml compilation.
|
||||||
{$(XML_SRCDIR)}.c{$(XML_INTDIR)}.obj::
|
{$(XML_SRCDIR)}.c{$(XML_INTDIR)}.obj::
|
||||||
$(CC) $(CFLAGS) /Fo$(XML_INTDIR)\ /c $<
|
$(CC) $(CFLAGS) /Fo$(XML_INTDIR)\ /c $<
|
||||||
|
|
||||||
|
# An implicit rule for static libxml compilation.
|
||||||
|
{$(XML_SRCDIR)}.c{$(XML_INTDIR_A)}.obj::
|
||||||
|
$(CC) $(CFLAGS) /D "LIBXML_STATIC" /Fo$(XML_INTDIR_A)\ /c $<
|
||||||
|
|
||||||
# Compiles libxml source. Uses the implicit rule for commands.
|
# Compiles libxml source. Uses the implicit rule for commands.
|
||||||
$(XML_OBJS) : $(XML_INTDIR)
|
$(XML_OBJS) : $(XML_INTDIR)
|
||||||
|
|
||||||
|
# Compiles static libxml source. Uses the implicit rule for commands.
|
||||||
|
$(XML_OBJS_A) : $(XML_INTDIR_A)
|
||||||
|
|
||||||
# Creates the export definition file (DEF) for libxml.
|
# Creates the export definition file (DEF) for libxml.
|
||||||
$(XML_INTDIR)\$(XML_DEF) : $(XML_INTDIR) $(XML_DEF).src
|
$(XML_INTDIR)\$(XML_DEF) : $(XML_INTDIR) $(XML_DEF).src
|
||||||
$(CPP) $(CPPFLAGS) $(XML_DEF).src > $(XML_INTDIR)\$(XML_DEF)
|
$(CPP) $(CPPFLAGS) $(XML_DEF).src > $(XML_INTDIR)\$(XML_DEF)
|
||||||
@@ -222,8 +266,8 @@ $(BINDIR)\$(XML_SO) : $(BINDIR) $(XML_OBJS) $(XML_INTDIR)\$(XML_DEF)
|
|||||||
/IMPLIB:$(BINDIR)\$(XML_IMP) /OUT:$(BINDIR)\$(XML_SO) $(XML_OBJS) $(LIBS)
|
/IMPLIB:$(BINDIR)\$(XML_IMP) /OUT:$(BINDIR)\$(XML_SO) $(XML_OBJS) $(LIBS)
|
||||||
|
|
||||||
# Creates the libxml archive.
|
# Creates the libxml archive.
|
||||||
$(BINDIR)\$(XML_A) : $(BINDIR) $(XML_OBJS)
|
$(BINDIR)\$(XML_A) : $(BINDIR) $(XML_OBJS_A)
|
||||||
$(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XML_A) $(XML_OBJS)
|
$(AR) $(ARFLAGS) /OUT:$(BINDIR)\$(XML_A) $(XML_OBJS_A)
|
||||||
|
|
||||||
|
|
||||||
# Makes the utils intermediate directory.
|
# Makes the utils intermediate directory.
|
||||||
@@ -242,7 +286,7 @@ $(UTILS_INTDIR) :
|
|||||||
!endif
|
!endif
|
||||||
|
|
||||||
# Builds xmllint and friends. Uses the implicit rule for commands.
|
# Builds xmllint and friends. Uses the implicit rule for commands.
|
||||||
$(UTILS) : $(UTILS_INTDIR) $(BINDIR) libxml
|
$(UTILS) : $(UTILS_INTDIR) $(BINDIR) libxml libxmla
|
||||||
|
|
||||||
|
|
||||||
# Source dependences should be autogenerated somehow here, but how to
|
# Source dependences should be autogenerated somehow here, but how to
|
||||||
|
Reference in New Issue
Block a user