Tag
Hash :
bd20df79
Author :
Date :
2000-10-29T17:53:40
- uri.c: Wayne Davison's patch fixing xmlBuildURI() - Makefile.mingw: Wayne Davison's update adding hash.c Daniel
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
# 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