mirror of
https://github.com/GNOME/libxml2.git
synced 2025-02-23 18:29:14 +08:00
* win32/win32/Makefile.mingw: updated with version from Elizabeth Barham at http://soggytrousers.net/repository/ Daniel
176 lines
4.4 KiB
Makefile
176 lines
4.4 KiB
Makefile
# This Makefile will allow you to build the static library, a DLL, the
|
|
# DLL-import library, and the test executables using the "mingw" gcc
|
|
# compiler environment. This Makefile is based on Alfred Reibenschuh's
|
|
# version for 2.1.1, and was modified by Wayne Davison.
|
|
# Modified 2001/10/10 Tobias Peters for libxml2-2.4.5
|
|
# Modified 2002/07/12 Elizabeth Barham for libxml2.4.23
|
|
|
|
# Set "PREFIX" to the root of the mingw installed files.
|
|
|
|
# PREFIX = /mingw
|
|
PREFIX = F:\WIN98\PROGR~-I\DEV-C~QN
|
|
|
|
CC = gcc
|
|
CFLAGS = -Iinclude -fnative-struct -D_WINSOCKAPI_ \
|
|
-Dsnprintf=_snprintf -Dvsnprintf=_vsnprintf \
|
|
-DLIBXML_THREAD_ENABLED
|
|
LDFLAGS = -L. -L$(PREFIX)\lib
|
|
LIBS = -lwsock32 -lz -liconv_dll
|
|
|
|
AR=ar rc
|
|
DLLTOOL=dlltool
|
|
DLLWRAP=dllwrap
|
|
|
|
|
|
LIBSRCS=SAX.c entities.c encoding.c error.c parserInternals.c \
|
|
parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c \
|
|
valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c \
|
|
xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c \
|
|
catalog.c c14n.c threads.c xmlschemastypes.c xmlschemas.c \
|
|
xmlregexp.c xmlunicode.c globals.c
|
|
|
|
# strio.c
|
|
|
|
LIBOBJS=$(LIBSRCS:.c=.o)
|
|
|
|
OBJS=$(LIBOBJS)
|
|
|
|
LIBBASE=xml
|
|
LIB=lib$(LIBBASE).a
|
|
DLL=$(LIB:.a=.dll)
|
|
|
|
OBJ1=testHTML.o
|
|
OBJ2=testSAX.o
|
|
OBJ3=testURI.o
|
|
OBJ4=testSchemas.o
|
|
OBJ5=testAutomata.o
|
|
OBJ6=testC14N.o
|
|
OBJ7=testDocbook.o
|
|
OBJ8=testRegexp.o
|
|
OBJ9=testThreadsWin32.o
|
|
OBJ10=testXPath.o
|
|
OBJ11=xmllint.o
|
|
EXE1=$(OBJ1:.o=.exe)
|
|
EXE2=$(OBJ2:.o=.exe)
|
|
EXE3=$(OBJ3:.o=.exe)
|
|
EXE4=$(OBJ4:.o=.exe)
|
|
EXE5=$(OBJ5:.o=.exe)
|
|
EXE6=$(OBJ6:.o=.exe)
|
|
EXE7=$(OBJ7:.o=.exe)
|
|
EXE8=$(OBJ8:.o=.exe)
|
|
EXE9=$(OBJ9:.o=.exe)
|
|
EXE10=$(OBJ10:.o=.exe)
|
|
EXE11=$(OBJ11:.o=.exe)
|
|
|
|
IMPBASE=$(LIBBASE)_dll
|
|
IMP=lib$(IMPBASE).a
|
|
|
|
DLLFLAGS = --shared -o $(DLL) -Wl,--out-implib,$(IMP)
|
|
|
|
DEF=$(DLL:.dll=.def)
|
|
|
|
all: $(LIB) $(DLL) $(DEF) $(IMP) $(EXE1) $(EXE2) $(EXE3) $(EXE4) $(EXE5) \
|
|
$(EXE6) $(EXE7) $(EXE8) $(EXE9) $(EXE10) $(EXE11)
|
|
|
|
dll: $(DLL)
|
|
|
|
lib: $(LIB)
|
|
|
|
$(DLL) $(IMP): $(LIBOBJS)
|
|
$(CC) $(DLLFLAGS) $(LIBOBJS) $(LDFLAGS) $(LIBS)
|
|
# -mwindows
|
|
|
|
$(LIB): $(LIBOBJS)
|
|
$(AR) $@ $^
|
|
|
|
$(DEF): $(LIBOBJS)
|
|
$(DLLTOOL) --kill-at --export-all -D $(DLL) --output-def $@ $^
|
|
|
|
$(EXE1): $(OBJ1) $(DLL)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(EXE2): $(OBJ2) $(DLL)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(EXE3): $(OBJ3) $(LIB)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(LIBBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(EXE4): $(OBJ4) $(DLL)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(EXE5): $(OBJ5) $(DLL)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(EXE6): $(OBJ6) $(DLL)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(EXE7): $(OBJ7) $(DLL)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(EXE8): $(OBJ8) $(DLL)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(EXE9): $(OBJ9) $(DLL)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(EXE10): $(OBJ10) $(DLL)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(EXE11): $(OBJ11) $(DLL)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(OBJ1): $(OBJ1:.o=.c)
|
|
$(CC) $(CFLAGS) -DLIBXML_DLL_IMPORT=__declspec'(dllimport)' -c $< -o $@
|
|
|
|
$(OBJ2): $(OBJ2:.o=.c)
|
|
$(CC) $(CFLAGS) -DLIBXML_DLL_IMPORT=__declspec'(dllimport)' -c $< -o $@
|
|
|
|
$(OBJ3): $(OBJ3:.o=.c)
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
$(OBJ4): $(OBJ4:.o=.c)
|
|
$(CC) $(CFLAGS) -DLIBXML_DLL_IMPORT=__declspec'(dllimport)' -c $< -o $@
|
|
|
|
$(OBJ5): $(OBJ5:.o=.c)
|
|
$(CC) $(CFLAGS) -DLIBXML_DLL_IMPORT=__declspec'(dllimport)' -c $< -o $@
|
|
|
|
$(OBJ6): $(OBJ6:.o=.c)
|
|
$(CC) $(CFLAGS) -DLIBXML_DLL_IMPORT=__declspec'(dllimport)' -c $< -o $@
|
|
|
|
$(OBJ7): $(OBJ7:.o=.c)
|
|
$(CC) $(CFLAGS) -DLIBXML_DLL_IMPORT=__declspec'(dllimport)' -c $< -o $@
|
|
|
|
$(OBJ8): $(OBJ8:.o=.c)
|
|
$(CC) $(CFLAGS) -DLIBXML_DLL_IMPORT=__declspec'(dllimport)' -c $< -o $@
|
|
|
|
$(OBJ9): $(OBJ9:.o=.c)
|
|
$(CC) $(CFLAGS) -DLIBXML_DLL_IMPORT=__declspec'(dllimport)' -c $< -o $@
|
|
|
|
$(OBJ10): $(OBJ10:.o=.c)
|
|
$(CC) $(CFLAGS) -DLIBXML_DLL_IMPORT=__declspec'(dllimport)' -c $< -o $@
|
|
|
|
$(OBJ11): $(OBJ11:.o=.c)
|
|
$(CC) $(CFLAGS) -DLIBXML_DLL_IMPORT=__declspec'(dllimport)' -c $< -o $@
|
|
|
|
|
|
|
|
.c.o:
|
|
$(CC) $(CFLAGS) -DIN_LIBXML -c $< -o $@
|
|
|
|
clean:
|
|
rm *.o *.a *.dll *.def
|
|
|
|
test: all
|
|
./$(EXE1) -c $(OBJS) | xxd | head -3
|