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 UXPArchitecture
148 EXTRA_LIBRARIES=$(DYNAMIC) ExtraLibraries -lgen
151 #ifdef HPArchitecture
152 STATIC=-Wl,-a,archive
153 DYNAMIC=-Wl,-a,shared
154 # define NeedLocalAlloca
158 XCOMM set platform subdir finder
159 #ifdef HAL32V7Architecture
161 # define DoLicenseManagement
162 #elif defined(HPArchitecture)
164 #elif defined(AIXArchitecture)
166 #elif defined(UXPArchitecture)
168 #elif defined(AlphaArchitecture)
170 #elif defined(USLArchitecture)
172 #elif defined(SVR4Architecture) && defined(i386Architecture)
174 #elif defined(SystemV4) && defined(i386)
176 #elif defined(SystemV4)
181 XCOMM end set platform subdir finder
184 OLIAS = $(PROGRAMSRC)/dtinfo
185 CONTROL=$(OLIAS)/control
186 LIBRARY = $(OLIAS)/library
187 #ifdef UseTmlRenderer
190 WWL = $(OLIAS)/dtinfo/wwl
191 MMDB = $(CDELIBSRC)/DtMmdb
192 EXCEPTIONS = $(MMDB)/dti_excs
193 TOOLS = $(OLIAS)/tools
194 UAS = $(OLIAS)/dtinfo/src/UAS
195 LIBCHECK = $(SHELL) $(CURRENT_DIR)/libcheck $(PLATFORM)
199 XCOMM Python-related definitions
201 PYTHON_ROOT = $(LIBRARY)/python/unix
202 PYTHON = $(PYTHON_ROOT)/python
203 PYTHON_INCLUDES = -I$(PYTHON_ROOT) -I$(PYTHON_ROOT)/Include
204 PYTHON_LIB_PATH = -L$(PYTHON_ROOT)/Modules -L$(PYTHON_ROOT)/Python -L$(PYTHON_ROOT)/Objects \
205 -L$(PYTHON_ROOT)/Parser -L$(PYTHON_ROOT)/readline
206 PYTHON_LIBS = $(PYTHON_ROOT)/Modules/config.nomain.o -lModules -lPython -lObjects -lParser -lreadline
207 PYTHON_SYS_LIBS =$(DYNAMIC) -ltermcap -lm
210 #ifdef UseTmlRenderer
211 TML_INCLUDES = -I$(TML)/include
212 TML_LIBS=-L$(TML)/src -ltml
214 WWL_INCLUDES = -I$(WWL)/include
215 WWL_LIBS=$(STATIC) -L$(WWL)/src -lWWL
216 EXCEPTIONS_INCLUDES = -I$(EXCEPTIONS)
217 MMDB_INCLUDES = -I$(MMDB)
218 UAS_INCLUDES = -I$(UAS)/Base
221 FULCRUM_INCLUDES = FulcrumIncludes
222 FULCRUM_DEFINES = FulcrumDefines
223 FULCRUM_LIBDIR = FulcrumLibDir
226 QSEARCH_LIBDIR = QSearchLibDir
229 # ifdef UseInstalledCde
230 DTSEARCH_INCLUDES = $(CDEINCLUDES)
231 DTSEARCH_LIBDIR = /usr/dt/lib
232 # elif defined(BuildOutsideCde)
233 DTSEARCH_INCLUDES = -I$(OLIAS)/../../lib/DtSearch
234 DTSEARCH_LIBDIR = $(OLIAS)/../../lib/DtSearch
236 DTSEARCH_INCLUDES = -I$(TOP)/exports/include/Dt
237 DTSEARCH_LIBDIR = $(TOP)/exports/lib
241 XCOMM BuildTools Include macros
242 GLOBAL_INCLUDES=-I$(OLIAS)/dtinfogen/global/
245 # if defined(AIXArchitecture) || defined(RsArchitecture)
246 XCOMM -- Need to add something here to circumvent lack of
247 XCOMM -- LD_LIBRARY_PATH on aix - SWM
248 FULCRUMLIBS=$(LIBRARY)/fulcrum/aix/lib/libftft.010.1.o
250 FULCRUMLIBS=$(DYNAMIC) -L$(FULCRUM_LIBDIR) -lftfT
254 QSEARCHLIBS=$(DYNAMIC) -L$(QSEARCH_LIBDIR) -lftxcall
255 # elif defined(UseDtSearch)
256 DTSEARCHLIBS=$(DYNAMIC) -L$(DTSEARCH_LIBDIR) -lDtSearch
260 MISC_INCLUDES = -I$(MMDB)/misc
262 DTSVC_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
263 DTSVCLIB=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
265 #ifdef BuildOutsideCde
266 DTHELP_LIBRARY=$(DYNAMIC) -L$(OLIAS)/../../exports/lib -lDtHelp
267 DTHELP_INCLUDES=$(OLIAS)/../../exports/include
268 TREE_INCLUDES=-I$(OLIAS)/../../exports/include -I$(OLIAS)/../../exports/include/Misc
270 DTHELP_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtHelp
271 DTHELP_INCLUDES=$(TOP)/exports/include
272 DTPRINTLIB=$(DYNAMIC) $(CDE_LIBS) -lDtPrint
274 TREE_INCLUDES=$(CDEINCLUDES) $(CDEINCLUDES)/Misc
276 #ifdef UseInstalledCde
277 CDEINCLUDES = -I/usr/dt/include
278 CDE_LIBS = -L/usr/dt/lib
280 CDEINCLUDES = -I$(TOP)/exports/include
281 CDE_LIBS = -L$(TOP)/exports/lib
283 MTFLIBDIR = $(TOP)/imports/motif/lib
286 BROWSER_INCLUDES=-I.. $(UAS_INCLUDES) $(EXCEPTIONS_INCLUDES) $(WWL_INCLUDES) $(TREE_INCLUDES) $(CDEINCLUDES)
289 RW_LIBDIR=-L$(LIBRARY)/rogue/$(PLATFORM)
291 RW_INCLUDES=-I$(LIBRARY)/rogue/$(PLATFORM)
294 COMMON_CLASS_LIBDIR=$(STATIC) -L$(MMDB)/dti_cc
295 COMMON_CLASS_LIB=-lcommon_class
296 COMMON_CLASS_INCLUDES=-I$(MMDB)/dti_cc -I$(MMDB)
301 STYLE_SHEET_INCLUDES=-I$(MMDB)/StyleSheet $(COMMON_CLASS_INCLUDES)
304 TREERES=$(TOOLS)/misc/treeres
306 XCOMM exceptions library
307 EXCLIB =$(STATIC) -L$(EXCEPTIONS) -lexc
308 EXCLIB_C_API =$(STATIC) -L$(EXCEPTIONS) -lC_APIexc
310 MMDB_LIBS=$(STATIC) -L$(OLIAS)/mmdb -lMMDB
311 MMDB_LIBS_C_API=$(DYNAMIC) -L$(MMDB)/lib -lDtMmdb
315 $(UAS)/Base/libBase.a \
316 $(UAS)/MMDB/libMMDB.a \
317 $(UAS)/Fulcrum/libFulcrum.a
320 MATH_LIB=$(DYNAMIC) -lm
321 MISC_LIB=$(STATIC) -L$(TOOLS)/src -lmisc
323 #ifdef DoLicenseManagement
324 XCOMM Licensing libraries and Include macros
325 XCOMM LICENSE_LROOT is the root of local libraries
326 XCOMM LICENSE_FROOT is the root of the FlexLM (foreign) libraries
328 LICENSE_LROOT=LicenseLocalLibDir
329 LICENSE_FROOT=LicenseForeignLibDir
331 XCOMM Force-load the Mech*.o files so their static initializers get called,
332 XCOMM tying the mechanisms into the licensing system
333 LICENSE_Mechanisms=$(LICENSE_LROOT)/cryptlib/MechFLEXlm.o
335 LICENSE_L_LIBS=$(LICENSE_Mechanisms) -L$(LICENSE_LROOT)/cryptlib -loliascrypt \
336 -L$(LICENSE_LROOT)/libdes -loliasdes
337 LICENSE_L_INCLUDES=-I$(LICENSE_LROOT)
338 LICENSE_F_INCLUDES=-I$(LICENSE_FROOT)/h
342 XCOMM project specific includes go into EXTRA_INCLUDES
348 XCOMM Installation stuff
352 PLATFORM_BIN_DIR=$(PLATFORM)
353 PLATFORM_TOOLS_DIR=$(TOOLS)/$(PLATFORM_BIN_DIR)
355 INSTALL_BIN_DIR=$(INSTALL_ROOT)/bin
356 XCOMM the browser binary uses the following, and must not install to
357 XCOMM same place as script by same name, which goes to INSTALL_BIN_DIR.
358 INSTALL_PLATFORM_BIN_DIR=$(INSTALL_BIN_DIR)/$(PLATFORM_BIN_DIR)
359 INSTALL_LIB_DIR=$(INSTALL_ROOT)/lib
360 INSTALL_APPCONFIG_DIR=$(INSTALL_ROOT)/appconfig
361 INSTALL_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
362 INSTALL_GPL_LIB_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/lib
363 #ifdef InstallMultiPlatform
364 INSTALL_PLATFORM_ETC_DIR=$(INSTALL_ETC_DIR)/$(PLATFORM)
365 INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)/$(PLATFORM)
366 INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin/$(PLATFORM)
368 INSTALL_PLATFORM_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
369 INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)
370 INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin
372 INSTALL_FONTS_DIR=$(INSTALL_ETC_DIR)/fonts
373 INSTALL_STYLES_DIR=$(INSTALL_LIB_DIR)/Styles.
375 XCOMM When installing into the following, the lang value must be inserted
376 XCOMM as the next directory level, due to language-specific content.
377 INSTALL_INFOLIB_DIR=$(INSTALL_ROOT)/infolib
378 INSTALL_BITMAPS_DIR=$(INSTALL_APPCONFIG_DIR)/icons
379 INSTALL_HELP_DIR=$(INSTALL_APPCONFIG_DIR)/help
380 INSTALL_XRESOURCES_DIR=$(INSTALL_ROOT)/app-defaults
381 #ifdef InstallMultiPlatform
382 XCOMM message catalogs as binaries
383 INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg/$(PLATFORM)
385 INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg
388 #define BigEndianDefines -DOLIAS_BIG_ENDIAN
389 #define LittleEndianDefines -DOLIAS_LITTLE_ENDIAN
390 #define DefaultEndianDefines -DOLIAS_DEFAULT_ENDIAN
393 #define TemplateDB Templates.DB
396 XCOMM Following X11 and Mtf defines should be replaced w/ std config
398 # define X11Includes -I$(TOP)/imports/x11/include
401 # define MtfIncludes -I$(TOP)/imports/motif/include
404 # define MtfLibraries $(DYNAMIC) $(XMLIB)
407 # define X11Libraries $(DYNAMIC) $(XTOOLLIB) $(XPLIB) $(XMULIB) $(XLIB)
410 X11_INCLUDES=X11Includes
411 X11_LIBRARIES=X11Libraries
412 MTF_INCLUDES=MtfIncludes
413 MTF_LIBRARIES=MtfLibraries
414 XMLIB = -L$(MTFLIBDIR) -lXm
415 XTOOLLIB = -L$(TOP)/imports/x11/lib $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
417 #if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
419 TEMPLATE_OBJS=*.o.ptrep/TemplateDB//**/*.o
420 TEMPLATE_DB=*.o.ptrep
421 #elif defined(SunArchitecture) && CplusplusCompilerMajorVersion > 2
423 TEMPLATE_DB=TemplateDB
424 TEMPLATE_OBJS=TemplateDB//**/*.o
427 #define TemplateObjs $(TEMPLATE_OBJS)
429 #if defined(i386Architecture) || defined(AMD64Architecture) || defined(AlphaArchitecture)
430 # define ByteOrderDefines LittleEndianDefines
431 #elif defined(HAL32V7Architecture) || defined(SunArchitecture) || defined(AIXArchitecture) || defined(HPArchitecture) || defined(UXPArchitecture)
432 # define ByteOrderDefines BigEndianDefines
434 # define ByteOrderDefines DefaultEndianDefines
437 BYTE_ORDER_DEFINES=ByteOrderDefines
440 * The following stuffs are default rules required by build_tools