Makefile for XML extension

# Makefile for gawk extensions Mar 2003
# - for GNU C (mingw32) [Windows32 executable for Windows 9x/NT]
# - for Microsoft C 7 [16bit ececutable for DOS]

# Modified for xml extension, WvB, Nov 2009
# see README.pc for comments

#------------------------------------------------------------------------
# Some makes do not define MAKE (and ndmake does not allow a define).
# Define MAK to be your make command.
#MAKE = dmake
MAK = $(MAKE) $(MAKEFILE)
#MAK = $(MAKE)
#MAKEFILE = -f Makefile
#MAK = make45 $(MAKEFILE)

VCCFLAGS=-nologo -O2 -DWIN32 -DWIN32_EXTENSION -D__STDC__=0 -DGAWK -I.. -DHAVE_CONFIG_H -DDYNAMIC
VCLDFLAGS=-LD ../gawk.lib
VCCC=cl -nologo

MWCFLAGS=-O -shared -DWIN32 -DWIN32_EXTENSION -DGAWK -I.. -DHAVE_CONFIG_H -DDYNAMIC
MWLDFLAGS=-s -Wl,--enable-stdcall-fixup -L.. -lgawk -lexpat -liconv
MWCC=gcc

# this DEFFILE will work provided the exported function is always called
# dlload
DEFFILE=pcext.def

SOURCES=xml_puller.c xml_interface.c xml_enc_handler.c

default:
@echo "Enter $(MAK) target "
@echo " where 'target' is chosen from "
@echo " mingw32 . Windows32 exe [Mingw32 GNU C] "
@echo " vcWin32 . Windows32 exe [Microsoft Visual C] "

xml.dll: $(SOURCES) xml_puller.h
$(CC) $(CFLAGS) $(SOURCES) -o xml.dll $(LDFLAGS) $(DEFFILE)

vcWin32:
$(MAK) CFLAGS="$(VCCFLAGS)" LDFLAGS="$(VCLDFLAGS)" CC="$(VCCC)" xml.dll

mingw32:
$(MAK) CFLAGS="$(MWCFLAGS)" LDFLAGS="$(MWLDFLAGS)" CC="$(MWCC)" xml.dll

clean:
-rm *.dll
-rm *.o
-rm *.obj
-rm *.lib