2 # The contents of this file are subject to the Mozilla Public
3 # License Version 1.1 (the "License"); you may not use this file
4 # except in compliance with the License. You may obtain a copy of
5 # the License at http://www.mozilla.org/MPL/
7 # Software distributed under the License is distributed on an "AS
8 # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
9 # implied. See the License for the specific language governing
10 # rights and limitations under the License.
12 # The Original Code is the Sablotron XSLT Processor.
14 # The Initial Developer of the Original Code is Ginger Alliance Ltd.
15 # Portions created by Ginger Alliance are Copyright (C) 2000 Ginger
16 # Alliance Ltd. All Rights Reserved.
18 # Contributor(s): Han Qi
20 # Alternatively, the contents of this file may be used under the
21 # terms of the GNU General Public License Version 2 or later (the
22 # "GPL"), in which case the provisions of the GPL are applicable
23 # instead of those above. If you wish to allow use of your
24 # version of this file only under the terms of the GPL and not to
25 # allow others to use your version of this file under the MPL,
26 # indicate your decision by deleting the provisions above and
27 # replace them with the notice and other provisions required by
28 # the GPL. If you do not delete the provisions above, a recipient
29 # may use your version of this file under either the MPL or the
33 # SABLOT_DEPTH is passed from the calling makefile
34 # EXPAT and EXPAT_LIB are passed from cmdline through calling makefile
35 # so is ICONV which is not mandatory so is transformed to
36 # (possibly empty) ICONV_INCLUDE, ICONV_LIB and ICONV_DEFINE
37 LIBDIR=$(SABLOT_DEPTH)\lib
38 INCLUDEDIR=$(SABLOT_DEPTH)\include
39 BINDIR=$(SABLOT_DEPTH)\bin
42 COMM_DEFINE=/DENABLE_DOM
44 #define the search paths for javascript
46 JS_INCLUDE=/I$(JS)\include
47 JS_LIB=$(JS)\lib\js32.lib
48 JS_DEFINE=/DENABLE_JS /DHAVE_JSAPI_H /DXP_PC
51 #define the search paths for iconv
53 ICONV_INCLUDE=/I$(ICONV)\include
54 #ICONV_LIB=$(ICONV)\src\iconv.lib
55 ICONV_LIB=$(ICONV)\lib\iconv.lib
56 ICONV_DEFINE=/DHAVE_ICONV_H
61 DEBUGGER_DEFINE=/DSABLOT_DEBUGGER
64 SAB_O = arena.obj base.obj context.obj datastr.obj decimal.obj \
65 debugger.obj domprovider.obj encoding.obj error.obj expr.obj \
66 hash.obj key.obj numbering.obj output.obj parser.obj platform.obj \
67 proc.obj sablot.obj sdom.obj situa.obj tree.obj uri.obj utf8.obj \
68 vars.obj verts.obj sxpath.obj jsext.obj jsdom.obj
70 all: sablotron install
72 sablotron: sablot.dll sabcmd.exe
75 link -dll -subsystem:windows -out:sablot.dll \
76 $(SAB_O) $(EXPAT)\$(EXPAT_LIB) $(JS_LIB) $(ICONV_LIB)
79 cl /nologo /MD /DWIN32 /O1 /DNDEBUG $(DEBUGGER_DEFINE) $(COMM_DEFINE) \
80 /D_WINDOWS command\sabcmd.cpp \
81 sablot.lib /I engine -Fesabcmd.exe
84 cl /nologo /Zp4 /MD /W3 /GX /O1 \
85 /D WIN32 /D NDEBUG /D _WINDOWS \
86 $(JS_DEFINE) $(ICONV_DEFINE) $(DEBUGGER_DEFINE) $(COMM_DEFINE)\
87 /I $(INCLUDEDIR) /I $(EXPAT) /I $(EXPAT)\lib \
88 $(JS_INCLUDE) $(ICONV_INCLUDE) \
89 $(CXXFLAGS) -c engine\*.cpp
100 @copy sablot.lib $(LIBDIR)
101 @copy engine\sablot.h $(INCLUDEDIR)
102 @copy engine\shandler.h $(INCLUDEDIR)
103 @copy engine\sdom.h $(INCLUDEDIR)
104 @copy engine\sxpath.h $(INCLUDEDIR)
105 @copy engine\sabdbg.h $(INCLUDEDIR)
106 @copy sablot.dll $(BINDIR)
107 @copy sabcmd.exe $(BINDIR)