mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-02-18 05:57:23 +03:00
98 lines
1.9 KiB
Makefile
98 lines
1.9 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.
|
|
|
|
# Set "PREFIX" to the root of the mingw installed files.
|
|
|
|
PREFIX = /mingw
|
|
|
|
CC=gcc
|
|
CFLAGS=-O -Iinclude -I$(PREFIX)/include -D_WINSOCKAPI_ -fnative-struct
|
|
LDFLAGS=-L. -L$(PREFIX)/lib
|
|
LIBS=-lwsock32 -lz
|
|
|
|
AR=ar rc
|
|
DLLTOOL=dlltool
|
|
DLLWRAP=dllwrap
|
|
|
|
LIBSRCS=HTMLparser.c \
|
|
HTMLtree.c \
|
|
SAX.c \
|
|
debugXML.c \
|
|
encoding.c \
|
|
entities.c \
|
|
error.c \
|
|
nanoftp.c \
|
|
nanohttp.c \
|
|
parser.c \
|
|
parserInternals.c \
|
|
tree.c \
|
|
valid.c \
|
|
xlink.c \
|
|
xmlIO.c \
|
|
xmlmemory.c \
|
|
xpath.c \
|
|
xpointer.c \
|
|
hash.c \
|
|
uri.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
|
|
EXE1=$(OBJ1:.o=.exe)
|
|
EXE2=$(OBJ2:.o=.exe)
|
|
EXE3=$(OBJ3:.o=.exe)
|
|
|
|
IMPBASE=$(LIBBASE)_dll
|
|
IMP=lib$(IMPBASE).a
|
|
|
|
DEF=$(DLL:.dll=.def)
|
|
|
|
all: $(LIB) $(DLL) $(DEF) $(IMP) $(EXE1) $(EXE2) $(EXE3)
|
|
|
|
dll: $(DLL)
|
|
|
|
lib: $(LIB)
|
|
|
|
$(DLL): $(LIB) $(DEF) $(IMP)
|
|
$(DLLWRAP) --def $(DEF) --dllname $@ --output-lib $@ $(LIB) $(LDFLAGS) $(LIBS) -mwindows
|
|
|
|
$(LIB): $(LIBOBJS)
|
|
$(AR) $@ $^
|
|
|
|
$(DEF): $(LIBOBJS)
|
|
$(DLLTOOL) --kill-at --export-all -D $(DLL) --output-def $@ $^
|
|
|
|
$(IMP): $(DEF)
|
|
$(DLLTOOL) -d $< -l $@ -D $(DLL)
|
|
|
|
$(EXE1): $(OBJ1) $(LIBOBJS) $(DLL)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(EXE2): $(OBJ2) $(LIBOBJS) $(DLL)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(IMPBASE) $(LIBS)
|
|
strip $@
|
|
|
|
$(EXE3): $(OBJ3) $(LIBOBJS) $(LIB)
|
|
$(CC) $(CFLAGS) $< -o $@ $(LDFLAGS) -l$(LIBBASE) $(LIBS)
|
|
strip $@
|
|
|
|
.c.o:
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
clean:
|
|
rm *.o *.a *.dll *.def
|
|
|
|
test: all
|
|
./$(EXE1) -c $(OBJS) | xxd | head -3
|