source: main/trunk/greenstone2/common-src/src/lib/win32.mak@ 22090

Last change on this file since 22090 was 22090, checked in by ak19, 14 years ago

Windows makefiles to work with USE_GDBM and USE_JDBM: 1. Added winMake.bat to both gs-jdbm-1.0.tar.gz and common-src's jdbmedit so that jdbm java files can now get compiled up. 2. These new winMake bat files are then called from the updated windows makefiles in common-src and common-src's src-lib folder. 3. Changed win32.mak files to work with USE_GDBM and USE_JDBM: these set their USE_DBDEFINES flag when on to prevent memory errors due to makefiles' inconsistent setting of USE_DEFINES between folders. Also certain gdbm related lib, includes and dir statements are moved out of the general part of the windows makefiles into the USE_GDBM section of the makefiles.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 4.1 KB
Line 
1###########################################################################
2#
3# win32 makefile -- lib
4# A component of the Greenstone digital library software
5# from the New Zealand Digital Library Project at the
6# University of Waikato, New Zealand.
7#
8# Copyright (C) 1999-2008 The New Zealand Digital Library Project
9#
10#
11# This program is free software; you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 2 of the License, or
14# (at your option) any later version.
15#
16# This program is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with this program; if not, write to the Free Software
23# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24#
25###########################################################################
26
27COMMON_DIR = ..\..
28
29INDEXERS_DIR = $(COMMON_DIR)\indexers
30COMMON_PACKAGES_DIR = $(COMMON_DIR)\packages
31
32
33GSDL_VC4 = 0
34LOCAL_LIBRARY = 0
35DEBUG = 0
36DLL = 0
37DLLDEBUG = 0
38USE_GDBM = 1
39USE_JDBM = 1
40USE_SQLITE = 1
41USE_MSSQL = 0
42
43!IF $(DEBUG)
44CXXFLAGS = -DEBUG -Z7 /errorReport:prompt
45!ELSE
46CXXFLAGS =
47!ENDIF
48
49
50!IF $(GSDL_VC4)
51CXXFLAGS = $(CXXFLAGS) -GX
52!ELSE
53CXXFLAGS = $(CXXFLAGS) -EHsc
54!ENDIF
55
56!IF $(DLL)
57CXXFLAGS = $(CXXFLAGS) -MD
58!ELSE
59!IF ($(DLLDEBUG))
60CXXFLAGS = $(CXXFLAGS) -MDd
61!ENDIF
62!ENDIF
63
64!IF $(USE_MSSQL)
65MSSQL_OBJECTS = mssqldbclass.obj
66MSSQL_SOURCES = mssqldbclass.cpp
67MSSQL_DEFINES = -DUSE_MSSQL
68!ELSE
69MSSQL_OBJECTS =
70MSSQL_SOURCES =
71MSSQL_DEFINES =
72!ENDIF
73
74!IF $(USE_SQLITE)
75SQLITE_INCLUDES = -I"$(COMMON_PACKAGES_DIR)\sqlite\include"
76SQLITE_OBJECTS = sqlitedbclass.obj
77SQLITE_SOURCES = sqlitedbclass.cpp
78SQLITE_DEFINES = -DUSE_SQLITE
79!ELSE
80SQLITE_INCLUDES =
81SQLITE_OBJECTS =
82SQLITE_SOURCES =
83SQLITE_DEFINES =
84!ENDIF
85
86!IF $(USE_GDBM)
87GDBM_LIBS =
88GDBM_SOURCES = gdbmclass.cpp
89GDBM_OBJECTS = gdbmclass.obj
90GDBM_INCLUDES = -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3" \
91 -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\windows"
92GDBM_DEFINES = -DUSE_GDBM
93!ELSE
94GDBM_LIBS =
95GDBM_SOURCES =
96GDBM_OBJECTS =
97GDBM_INCLUDES =
98GDBM_DEFINES =
99!ENDIF
100
101!IF $(USE_JDBM)
102JDBM_SOURCES = jdbmnaiveclass.cpp
103JDBM_OBJECTS = jdbmnaiveclass.obj
104JDBM_DEFINES = -DUSE_JDBM
105!ELSE
106JDBM_SOURCES =
107JDBM_OBJECTS =
108JDBM_DEFINES =
109!ENDIF
110
111AR = lib
112CC = cl
113DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE \
114 $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES) $(MSSQL_DEFINES)
115INCLUDES = -I"$(COMMON_DIR)" \
116 $(GDBM_INCLUDES) \
117 $(SQLITE_INCLUDES)
118
119!IF $(GSDL_VC4)
120DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
121INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
122!ENDIF
123!IF $(LOCAL_LIBRARY)
124DEFS = $(DEFS) -DGSDL_LOCAL_LIBRARY
125!ENDIF
126
127
128COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
129
130
131.SUFFIXES:
132.SUFFIXES: .cpp .obj
133.cpp.obj:
134 $(COMPILE) $<
135
136
137SOURCES = \
138 cfgread.cpp \
139 cnfgable.cpp \
140 cnfgator.cpp \
141 dbclass.cpp \
142 display.cpp \
143 fileutil.cpp \
144 $(GDBM_SOURCES) \
145 gsdlsitecfg.cpp \
146 gsdltimes.cpp \
147 gsdltools.cpp \
148 gsdlunicode.cpp \
149 infodbclass.cpp \
150 $(JDBM_SOURCES) \
151 md5.cpp \
152 OIDtools.cpp \
153 phrases.cpp \
154 sqldbclass.cpp \
155 text_t.cpp \
156 unitool.cpp \
157 $(SQLITE_SOURCES) \
158 $(MSSQL_SOURCES)
159
160OBJECTS = \
161 cfgread.obj \
162 cnfgable.obj \
163 cnfgator.obj \
164 dbclass.obj \
165 display.obj \
166 fileutil.obj \
167 $(GDBM_OBJECTS) \
168 gsdlsitecfg.obj \
169 gsdltimes.obj \
170 gsdltools.obj \
171 gsdlunicode.obj \
172 infodbclass.obj \
173 $(JDBM_OBJECTS) \
174 md5.obj \
175 OIDtools.obj \
176 phrases.obj \
177 sqldbclass.obj \
178 text_t.obj \
179 unitool.obj \
180 $(SQLITE_OBJECTS) \
181 $(MSSQL_OBJECTS)
182
183LIBRARY = gsdllib.lib
184
185
186# Default target: make gsdllib.lib
187all: $(LIBRARY)
188
189gsdllib.lib : $(OBJECTS)
190 if EXIST $(LIBRARY) del $(LIBRARY)
191 $(AR) -nologo /out:$(LIBRARY) $(OBJECTS)
192
193install:
194
195clean:
196 del *.obj
197 del $(LIBRARY)
198
199
200# Always recompile gsdltools in case GSDL_LOCAL_LIBRARY has changed
201gsdltools.obj: FORCE
202
203FORCE:
Note: See TracBrowser for help on using the repository browser.