1 XCOMM $TOG: DtInfo.tmpl /main/37 1997/09/05 11:31:26 samborn $
2 XCOMM OLIAS project common makefile
4 /* Chain project template files. */
8 XCOMM #define BuildOutsideCde
10 #ifdef BuildOutsideCde
11 XCOMM These are set by default when building outside of the CDE source
12 XCOMM tree. Some use-installed support needs to be implemented for all
13 XCOMM cases, however, once CDE build integration and revamped CDE Imake
14 XCOMM config based on X11R6 is complete.
15 # ifndef UseInstalledCde
16 XCOMM build using installed Motif and CDE libs and headers
17 # define UseInstalledCde
20 XCOMM build using installed X11 libs and headers
23 # ifndef BuildLocalInfolibs
24 XCOMM infolib(s) built from local subtree
25 # define BuildLocalInfolibs
27 # ifndef BuildStandalonePackaging
28 XCOMM provide for independent (non-cde) packaging
29 # define BuildStandalonePackaging
31 # ifndef InstallMultiPlatform
32 XCOMM have multiple platforms run out of the same install tree,
33 XCOMM sharing everything except binary parts
34 # define InstallMultiPlatform
40 XCOMM Provide flags for CDE desktop facilities explicitly if CDE context.
41 XCOMM (Note, these will assume a post-CDE 1.0 functional revision level.)
45 XCOMM X11 R6 session management
46 # define UseSessionMgmt
50 XCOMM Turn off all flags not applicable to CDE dtinfo client,
51 XCOMM and turn on those that are:
52 XCOMM -- search engine
60 XCOMM -- canvas and/or rendering engine
62 # ifdef UseTmlRenderer
63 # undef UseTmlRenderer
65 XCOMM -- remote connections
69 XCOMM -- specific license managers
70 # ifdef DoLicenseManagement
71 # undef DoLicenseManagement
73 XCOMM -- special libraries
79 #define WideCharSupport
81 #define Internationalize
86 DTINFO_DEFINES=-DDtinfoClient -DUseMotifXpm -DUseTooltalk -DUseSessionMgmt
87 #elif defined(CdeDesktop)
88 DTINFO_DEFINES=-DUseMotifXpm -DUseTooltalk -DUseSessionMgmt
94 WIDEC_DEFINES=-DUseWideChars
99 #ifdef Internationalize
100 I18N_DEFINES=-DInternationalize
106 XCOMM The QSearch Japanese-language search engine is available only on
107 XCOMM Solaris, so only enable it there.
108 SEARCH_DEFINES=-DUseQSearch
109 #elif defined(UseDtSearch)
110 SEARCH_DEFINES=-DDTSEARCH
112 SEARCH_DEFINES=-DFULCRUM
116 DLOPEN_DEFINES=-DUseDlOpen
121 #ifdef DoLicenseManagement
130 XCOMM if Purify is defined then set the variable PURIFY - cso 941215
134 #ifdef SunArchitecture
137 # if (OSMajorVersion == 5)
138 EXTRA_LIBRARIES=$(DYNAMIC) ExtraLibraries -lresolv
140 # if (OSMajorVersion == 4)
145 #ifdef HPArchitecture
146 STATIC=-Wl,-a,archive
147 DYNAMIC=-Wl,-a,shared
148 # define NeedLocalAlloca
152 XCOMM set platform subdir finder
153 #ifdef HAL32V7Architecture
155 # define DoLicenseManagement
156 #elif defined(HPArchitecture)
158 #elif defined(AIXArchitecture)
160 #elif defined(SystemV4) && defined(i386)
162 #elif defined(SystemV4)
167 XCOMM end set platform subdir finder
170 OLIAS = $(PROGRAMSRC)/dtinfo
171 CONTROL=$(OLIAS)/control
172 LIBRARY = $(OLIAS)/library
173 #ifdef UseTmlRenderer
176 WWL = $(OLIAS)/dtinfo/wwl
177 MMDB = $(CDELIBSRC)/DtMmdb
178 EXCEPTIONS = $(MMDB)/dti_excs
179 TOOLS = $(OLIAS)/tools
180 UAS = $(OLIAS)/dtinfo/src/UAS
181 LIBCHECK = $(SHELL) $(CURRENT_DIR)/libcheck $(PLATFORM)
185 XCOMM Python-related definitions
187 PYTHON_ROOT = $(LIBRARY)/python/unix
188 PYTHON = $(PYTHON_ROOT)/python
189 PYTHON_INCLUDES = -I$(PYTHON_ROOT) -I$(PYTHON_ROOT)/Include
190 PYTHON_LIB_PATH = -L$(PYTHON_ROOT)/Modules -L$(PYTHON_ROOT)/Python -L$(PYTHON_ROOT)/Objects \
191 -L$(PYTHON_ROOT)/Parser -L$(PYTHON_ROOT)/readline
192 PYTHON_LIBS = $(PYTHON_ROOT)/Modules/config.nomain.o -lModules -lPython -lObjects -lParser -lreadline
193 PYTHON_SYS_LIBS =$(DYNAMIC) -ltermcap -lm
196 #ifdef UseTmlRenderer
197 TML_INCLUDES = -I$(TML)/include
198 TML_LIBS=-L$(TML)/src -ltml
200 WWL_INCLUDES = -I$(WWL)/include
201 WWL_LIBS=$(STATIC) -L$(WWL)/src -lWWL
202 EXCEPTIONS_INCLUDES = -I$(EXCEPTIONS)
203 MMDB_INCLUDES = -I$(MMDB)
204 UAS_INCLUDES = -I$(UAS)/Base
207 FULCRUM_INCLUDES = FulcrumIncludes
208 FULCRUM_DEFINES = FulcrumDefines
209 FULCRUM_LIBDIR = FulcrumLibDir
212 QSEARCH_LIBDIR = QSearchLibDir
215 # ifdef UseInstalledCde
216 DTSEARCH_INCLUDES = $(CDEINCLUDES)
217 DTSEARCH_LIBDIR = /usr/dt/lib
218 # elif defined(BuildOutsideCde)
219 DTSEARCH_INCLUDES = -I$(OLIAS)/../../lib/DtSearch
220 DTSEARCH_LIBDIR = $(OLIAS)/../../lib/DtSearch
222 DTSEARCH_INCLUDES = -I$(TOP)/exports/include/Dt
223 DTSEARCH_LIBDIR = $(TOP)/exports/lib
227 XCOMM BuildTools Include macros
228 GLOBAL_INCLUDES=-I$(OLIAS)/dtinfogen/global/
231 # if defined(AIXArchitecture) || defined(RsArchitecture)
232 XCOMM -- Need to add something here to circumvent lack of
233 XCOMM -- LD_LIBRARY_PATH on aix - SWM
234 FULCRUMLIBS=$(LIBRARY)/fulcrum/aix/lib/libftft.010.1.o
236 FULCRUMLIBS=$(DYNAMIC) -L$(FULCRUM_LIBDIR) -lftfT
240 QSEARCHLIBS=$(DYNAMIC) -L$(QSEARCH_LIBDIR) -lftxcall
241 # elif defined(UseDtSearch)
242 DTSEARCHLIBS=$(DYNAMIC) -L$(DTSEARCH_LIBDIR) -lDtSearch
246 MISC_INCLUDES = -I$(MMDB)/misc
248 DTSVC_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
249 DTSVCLIB=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
251 #ifdef BuildOutsideCde
252 DTHELP_LIBRARY=$(DYNAMIC) -L$(OLIAS)/../../exports/lib -lDtHelp
253 DTHELP_INCLUDES=$(OLIAS)/../../exports/include
254 TREE_INCLUDES=-I$(OLIAS)/../../exports/include -I$(OLIAS)/../../exports/include/Misc
256 DTHELP_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtHelp
257 DTHELP_INCLUDES=$(TOP)/exports/include
258 DTPRINTLIB=$(DYNAMIC) $(CDE_LIBS) -lDtPrint
260 TREE_INCLUDES=$(CDEINCLUDES) $(CDEINCLUDES)/Misc
262 #ifdef UseInstalledCde
263 CDEINCLUDES = -I/usr/dt/include
264 CDE_LIBS = -L/usr/dt/lib
266 CDEINCLUDES = -I$(TOP)/exports/include
267 CDE_LIBS = -L$(TOP)/exports/lib
269 MTFLIBDIR = $(TOP)/imports/motif/lib
272 BROWSER_INCLUDES=-I.. $(UAS_INCLUDES) $(EXCEPTIONS_INCLUDES) $(WWL_INCLUDES) $(TREE_INCLUDES) $(CDEINCLUDES)
275 RW_LIBDIR=-L$(LIBRARY)/rogue/$(PLATFORM)
277 RW_INCLUDES=-I$(LIBRARY)/rogue/$(PLATFORM)
280 COMMON_CLASS_LIBDIR=$(STATIC) -L$(MMDB)/dti_cc
281 COMMON_CLASS_LIB=-lcommon_class
282 COMMON_CLASS_INCLUDES=-I$(MMDB)/dti_cc -I$(MMDB)
287 STYLE_SHEET_INCLUDES=-I$(MMDB)/StyleSheet $(COMMON_CLASS_INCLUDES)
290 TREERES=$(TOOLS)/misc/treeres
292 XCOMM exceptions library
293 EXCLIB =$(STATIC) -L$(EXCEPTIONS) -lexc
294 EXCLIB_C_API =$(STATIC) -L$(EXCEPTIONS) -lC_APIexc
296 MMDB_LIBS=$(STATIC) -L$(OLIAS)/mmdb -lMMDB
297 MMDB_LIBS_C_API=$(DYNAMIC) -L$(MMDB)/lib -lDtMmdb
301 $(UAS)/Base/libBase.a \
302 $(UAS)/MMDB/libMMDB.a \
303 $(UAS)/Fulcrum/libFulcrum.a
306 MATH_LIB=$(DYNAMIC) -lm
307 MISC_LIB=$(STATIC) -L$(TOOLS)/src -lmisc
309 #ifdef DoLicenseManagement
310 XCOMM Licensing libraries and Include macros
311 XCOMM LICENSE_LROOT is the root of local libraries
312 XCOMM LICENSE_FROOT is the root of the FlexLM (foreign) libraries
314 LICENSE_LROOT=LicenseLocalLibDir
315 LICENSE_FROOT=LicenseForeignLibDir
317 XCOMM Force-load the Mech*.o files so their static initializers get called,
318 XCOMM tying the mechanisms into the licensing system
319 LICENSE_Mechanisms=$(LICENSE_LROOT)/cryptlib/MechFLEXlm.o
321 LICENSE_L_LIBS=$(LICENSE_Mechanisms) -L$(LICENSE_LROOT)/cryptlib -loliascrypt \
322 -L$(LICENSE_LROOT)/libdes -loliasdes
323 LICENSE_L_INCLUDES=-I$(LICENSE_LROOT)
324 LICENSE_F_INCLUDES=-I$(LICENSE_FROOT)/h
328 XCOMM project specific includes go into EXTRA_INCLUDES
334 XCOMM Installation stuff
338 PLATFORM_BIN_DIR=$(PLATFORM)
339 PLATFORM_TOOLS_DIR=$(TOOLS)/$(PLATFORM_BIN_DIR)
341 INSTALL_BIN_DIR=$(INSTALL_ROOT)/bin
342 XCOMM the browser binary uses the following, and must not install to
343 XCOMM same place as script by same name, which goes to INSTALL_BIN_DIR.
344 INSTALL_PLATFORM_BIN_DIR=$(INSTALL_BIN_DIR)/$(PLATFORM_BIN_DIR)
345 INSTALL_LIB_DIR=$(INSTALL_ROOT)/lib
346 INSTALL_APPCONFIG_DIR=$(INSTALL_ROOT)/appconfig
347 INSTALL_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
348 INSTALL_GPL_LIB_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/lib
349 #ifdef InstallMultiPlatform
350 INSTALL_PLATFORM_ETC_DIR=$(INSTALL_ETC_DIR)/$(PLATFORM)
351 INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)/$(PLATFORM)
352 INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin/$(PLATFORM)
354 INSTALL_PLATFORM_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
355 INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)
356 INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin
358 INSTALL_FONTS_DIR=$(INSTALL_ETC_DIR)/fonts
359 INSTALL_STYLES_DIR=$(INSTALL_LIB_DIR)/Styles.
361 XCOMM When installing into the following, the lang value must be inserted
362 XCOMM as the next directory level, due to language-specific content.
363 INSTALL_INFOLIB_DIR=$(INSTALL_ROOT)/infolib
364 INSTALL_BITMAPS_DIR=$(INSTALL_APPCONFIG_DIR)/icons
365 INSTALL_HELP_DIR=$(INSTALL_APPCONFIG_DIR)/help
366 INSTALL_XRESOURCES_DIR=$(INSTALL_ROOT)/app-defaults
367 #ifdef InstallMultiPlatform
368 XCOMM message catalogs as binaries
369 INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg/$(PLATFORM)
371 INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg
374 #define BigEndianDefines -DOLIAS_BIG_ENDIAN
375 #define LittleEndianDefines -DOLIAS_LITTLE_ENDIAN
376 #define DefaultEndianDefines -DOLIAS_DEFAULT_ENDIAN
379 #define TemplateDB Templates.DB
382 XCOMM Following X11 and Mtf defines should be replaced w/ std config
384 # define X11Includes -I$(TOP)/imports/x11/include
387 # define MtfIncludes -I$(TOP)/imports/motif/include
390 # define MtfLibraries $(DYNAMIC) $(XMLIB)
393 # define X11Libraries $(DYNAMIC) $(XTOOLLIB) $(XMULIB) $(XLIB)
396 X11_INCLUDES=X11Includes
397 X11_LIBRARIES=X11Libraries
398 MTF_INCLUDES=MtfIncludes
399 MTF_LIBRARIES=MtfLibraries
400 XMLIB = -L$(MTFLIBDIR) -lXm
401 XTOOLLIB = -L$(TOP)/imports/x11/lib $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
403 #if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
405 TEMPLATE_OBJS=*.o.ptrep/TemplateDB//**/*.o
406 TEMPLATE_DB=*.o.ptrep
407 #elif defined(SunArchitecture) && CplusplusCompilerMajorVersion > 2
409 TEMPLATE_DB=TemplateDB
410 TEMPLATE_OBJS=TemplateDB//**/*.o
413 #define TemplateObjs $(TEMPLATE_OBJS)
415 #if defined(i386Architecture) || defined(AMD64Architecture) || defined(AlphaArchitecture) || defined(ARMArchitecture)
416 # define ByteOrderDefines LittleEndianDefines
417 #elif defined(HAL32V7Architecture) || defined(SunArchitecture) || defined(AIXArchitecture) || defined(HPArchitecture)
418 # define ByteOrderDefines BigEndianDefines
420 # define ByteOrderDefines DefaultEndianDefines
423 BYTE_ORDER_DEFINES=ByteOrderDefines
426 * The following stuffs are default rules required by build_tools