aboutsummaryrefslogtreecommitdiff
path: root/expat_watcom/Makefile.watcom
blob: 329d0b09f50a0d056ae806fc38e37b7c7ccaa085 (plain)
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# libexpat Open Watcom Makefile (tested with libexpat 2.0.1)
# creates expat.dll and expat.lib import library
# watcomconfig.h - if provided - may contain additional macro definitions

ccl = owcc
link = wlink
strip = wstrip
libman = wlib

exeext = .exe
dllext = .dll
objext = .obj
libext = .lib

incl =

optimization = -O3 -mtune=i386
# ^ adapt to your system architecture etc.
cflags = -shared -std=c99 -fno-short-enum $optimization
lstats = sys OS2V2_DLL
# ^ adapt to your system target

defs = -DHAVE_MEMMOVE -DHAVE_BCOPY -DHAVE_GETPAGESIZE -DHAVE_MMAP -DSTDC_HEADERS
#defs += -DXML_DTD -DXML_NS
# ^ unrem to enable DTD parsing and XML namespaces

manifest = xmlparse.c xmltok.c xmlrole.c
objects = $(manifest:.c=$objext)

exports = &
	XML_SetElementDeclHandler &
	XML_SetAttlistDeclHandler &
	XML_SetXmlDeclHandler &
	XML_ParserCreate &
	XML_ParserCreateNS &
	XML_ParserCreate_MM &
	XML_ParserReset &
	XML_SetEntityDeclHandler &
	XML_SetElementHandler &
	XML_SetStartElementHandler &
	XML_SetEndElementHandler &
	XML_SetCharacterDataHandler &
	XML_SetProcessingInstructionHandler &
	XML_SetCommentHandler &
	XML_SetCdataSectionHandler &
	XML_SetStartCdataSectionHandler &
	XML_SetEndCdataSectionHandler &
	XML_SetDefaultHandler &
	XML_SetDefaultHandlerExpand &
	XML_SetDoctypeDeclHandler &
	XML_SetStartDoctypeDeclHandler &
	XML_SetEndDoctypeDeclHandler &
	XML_SetUnparsedEntityDeclHandler &
	XML_SetNotationDeclHandler &
	XML_SetNamespaceDeclHandler &
	XML_SetStartNamespaceDeclHandler &
	XML_SetEndNamespaceDeclHandler &
	XML_SetNotStandaloneHandler &
	XML_SetExternalEntityRefHandler &
	XML_SetExternalEntityRefHandlerArg &
	XML_SetSkippedEntityHandler &
	XML_SetUnknownEncodingHandler &
	XML_DefaultCurrent &
	XML_SetReturnNSTriplet &
	XML_SetUserData &
	XML_SetEncoding &
	XML_UseParserAsHandlerArg &
	XML_UseForeignDTD &
	XML_SetBase &
	XML_GetBase &
	XML_GetSpecifiedAttributeCount &
	XML_GetIdAttributeIndex &
	XML_Parse &
	XML_GetBuffer &
	XML_ParseBuffer &
	XML_StopParser &
	XML_ResumeParser &
	XML_GetParsingStatus &
	XML_ExternalEntityParserCreate &
	XML_SetParamEntityParsing &
	XML_GetErrorCode &
	XML_GetCurrentLineNumber &
	XML_GetCurrentColumnNumber &
	XML_GetCurrentByteIndex &
	XML_GetCurrentByteCount &
	XML_GetInputContext &
	XML_FreeContentModel &
	XML_MemMalloc &
	XML_MemRealloc &
	XML_MemFree &
	XML_ParserFree &
	XML_ErrorString &
	XML_ExpatVersion &
	XML_ExpatVersionInfo &
	XML_GetFeatureList

all : watcomconfig.h expat$libext .symbolic

watcomconfig.h:
	touch $^@

expat$libext : expat$dllext
	$libman -n -b $^@ +$[@

expat$dllext : $objects
	$link $lstats n $^@ f {$<} exp {$exports}
	$strip -n $^@
#	^ rem to disable debugging symbol stripping

.c$objext:
	$ccl $cflags $incl $defs -c -o $^@ $[@

clean: .symbolic
	@for %i in ($objects expat$dllext expat$libext) do &
		@if exist %i del %i