DtInfo.tmpl 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  1. XCOMM $TOG: DtInfo.tmpl /main/37 1997/09/05 11:31:26 samborn $
  2. XCOMM OLIAS project common makefile
  3. /* Chain project template files. */
  4. #include <cde.tmpl>
  5. #define CdeDesktop
  6. XCOMM #define BuildOutsideCde
  7. #ifdef BuildOutsideCde
  8. XCOMM These are set by default when building outside of the CDE source
  9. XCOMM tree. Some use-installed support needs to be implemented for all
  10. XCOMM cases, however, once CDE build integration and revamped CDE Imake
  11. XCOMM config based on X11R6 is complete.
  12. # ifndef UseInstalledCde
  13. XCOMM build using installed Motif and CDE libs and headers
  14. # define UseInstalledCde
  15. # endif
  16. # ifndef UseInstalled
  17. XCOMM build using installed X11 libs and headers
  18. # define UseInstalled
  19. # endif
  20. # ifndef BuildLocalInfolibs
  21. XCOMM infolib(s) built from local subtree
  22. # define BuildLocalInfolibs
  23. # endif
  24. # ifndef BuildStandalonePackaging
  25. XCOMM provide for independent (non-cde) packaging
  26. # define BuildStandalonePackaging
  27. # endif
  28. # ifndef InstallMultiPlatform
  29. XCOMM have multiple platforms run out of the same install tree,
  30. XCOMM sharing everything except binary parts
  31. # define InstallMultiPlatform
  32. # endif
  33. #endif
  34. #ifdef CdeDesktop
  35. XCOMM Provide flags for CDE desktop facilities explicitly if CDE context.
  36. XCOMM (Note, these will assume a post-CDE 1.0 functional revision level.)
  37. # define DtinfoClient
  38. # define UseMotifXpm
  39. # define UseTooltalk
  40. XCOMM X11 R6 session management
  41. # define UseSessionMgmt
  42. #endif
  43. #ifdef DtinfoClient
  44. XCOMM Turn off all flags not applicable to CDE dtinfo client,
  45. XCOMM and turn on those that are:
  46. XCOMM -- search engine
  47. # define UseDtSearch
  48. # ifdef UseQSearch
  49. # undef UseQSearch
  50. # endif
  51. # ifdef UseFulcrum
  52. # undef UseFulcrum
  53. # endif
  54. XCOMM -- canvas and/or rendering engine
  55. # define UseDtCanvas
  56. # ifdef UseTmlRenderer
  57. # undef UseTmlRenderer
  58. # endif
  59. XCOMM -- remote connections
  60. # ifdef UsePython
  61. # undef UsePython
  62. # endif
  63. XCOMM -- specific license managers
  64. # ifdef DoLicenseManagement
  65. # undef DoLicenseManagement
  66. # endif
  67. XCOMM -- special libraries
  68. # ifdef UseRWClasses
  69. # undef UseRWClasses
  70. # endif
  71. #endif
  72. #define WideCharSupport
  73. #define UseWideChars
  74. #define Internationalize
  75. #define JapaneseLocal
  76. #ifdef DtinfoClient
  77. DTINFO_DEFINES=-DDtinfoClient -DUseMotifXpm -DUseTooltalk -DUseSessionMgmt
  78. #elif defined(CdeDesktop)
  79. DTINFO_DEFINES=-DUseMotifXpm -DUseTooltalk -DUseSessionMgmt
  80. #else
  81. DTINFO_DEFINES=
  82. #endif
  83. #ifdef UseWideChars
  84. WIDEC_DEFINES=-DUseWideChars
  85. #else
  86. WIDEC_DEFINES=
  87. #endif
  88. #ifdef Internationalize
  89. I18N_DEFINES=-DInternationalize
  90. #else
  91. I18N_DEFINES=
  92. #endif
  93. #ifdef UseQSearch
  94. XCOMM The QSearch Japanese-language search engine is available only on
  95. XCOMM Solaris, so only enable it there.
  96. SEARCH_DEFINES=-DUseQSearch
  97. #elif defined(UseDtSearch)
  98. SEARCH_DEFINES=-DDTSEARCH
  99. #else
  100. SEARCH_DEFINES=-DFULCRUM
  101. #endif
  102. #ifdef UseDlOpen
  103. DLOPEN_DEFINES=-DUseDlOpen
  104. #else
  105. DLOPEN_DEFINES=
  106. #endif
  107. #ifdef DoLicenseManagement
  108. LM_DEFINES=
  109. LM_INCLUDES=
  110. #else
  111. LM_DEFINES=
  112. LM_INCLUDES=
  113. #endif
  114. #ifdef Purify
  115. XCOMM if Purify is defined then set the variable PURIFY - cso 941215
  116. PURIFY=PurifyCmd
  117. #endif
  118. #ifdef SunArchitecture
  119. STATIC=-Bstatic
  120. DYNAMIC=-Bdynamic
  121. # if (OSMajorVersion == 5)
  122. EXTRA_LIBRARIES=$(DYNAMIC) ExtraLibraries -lresolv
  123. # endif
  124. # if (OSMajorVersion == 4)
  125. # define BuildPython
  126. # endif
  127. #endif
  128. #ifdef UXPArchitecture
  129. STATIC=-Bstatic
  130. DYNAMIC=-Bdynamic
  131. EXTRA_LIBRARIES=$(DYNAMIC) ExtraLibraries -lgen
  132. #endif
  133. #ifdef HPArchitecture
  134. STATIC=-Wl,-a,archive
  135. DYNAMIC=-Wl,-a,shared
  136. # define NeedLocalAlloca
  137. #endif
  138. XCOMM set platform subdir finder
  139. #ifdef HAL32V7Architecture
  140. PLATFORM=halos
  141. # define DoLicenseManagement
  142. #elif defined(HPArchitecture)
  143. PLATFORM=hpux
  144. #elif defined(AIXArchitecture)
  145. PLATFORM=aix
  146. #elif defined(UXPArchitecture)
  147. PLATFORM=uxpds
  148. #elif defined(AlphaArchitecture)
  149. PLATFORM=digital
  150. #elif defined(USLArchitecture)
  151. PLATFORM=usl
  152. #elif defined(SVR4Architecture) && defined(i386Architecture)
  153. PLATFORM=usl
  154. #elif defined(SystemV4) && defined(i386)
  155. PLATFORM=solaris-386
  156. #elif defined(SystemV4)
  157. PLATFORM=solaris
  158. #else
  159. PLATFORM=sunos
  160. #endif
  161. XCOMM end set platform subdir finder
  162. OLIAS = $(PROGRAMSRC)/dtinfo
  163. CONTROL=$(OLIAS)/control
  164. LIBRARY = $(OLIAS)/library
  165. #ifdef UseTmlRenderer
  166. TML = $(OLIAS)/tml
  167. #endif
  168. WWL = $(OLIAS)/dtinfo/wwl
  169. MMDB = $(CDELIBSRC)/DtMmdb
  170. EXCEPTIONS = $(MMDB)/dti_excs
  171. TOOLS = $(OLIAS)/tools
  172. UAS = $(OLIAS)/dtinfo/src/UAS
  173. LIBCHECK = $(SHELL) $(CURRENT_DIR)/libcheck $(PLATFORM)
  174. #ifdef UsePython
  175. XCOMM
  176. XCOMM Python-related definitions
  177. XCOMM
  178. PYTHON_ROOT = $(LIBRARY)/python/unix
  179. PYTHON = $(PYTHON_ROOT)/python
  180. PYTHON_INCLUDES = -I$(PYTHON_ROOT) -I$(PYTHON_ROOT)/Include
  181. PYTHON_LIB_PATH = -L$(PYTHON_ROOT)/Modules -L$(PYTHON_ROOT)/Python -L$(PYTHON_ROOT)/Objects \
  182. -L$(PYTHON_ROOT)/Parser -L$(PYTHON_ROOT)/readline
  183. PYTHON_LIBS = $(PYTHON_ROOT)/Modules/config.nomain.o -lModules -lPython -lObjects -lParser -lreadline
  184. PYTHON_SYS_LIBS =$(DYNAMIC) -ltermcap -lm
  185. #endif
  186. #ifdef UseTmlRenderer
  187. TML_INCLUDES = -I$(TML)/include
  188. TML_LIBS=-L$(TML)/src -ltml
  189. #endif
  190. WWL_INCLUDES = -I$(WWL)/include
  191. WWL_LIBS=$(STATIC) -L$(WWL)/src -lWWL
  192. EXCEPTIONS_INCLUDES = -I$(EXCEPTIONS)
  193. MMDB_INCLUDES = -I$(MMDB)
  194. UAS_INCLUDES = -I$(UAS)/Base
  195. #ifdef UseFulcrum
  196. FULCRUM_INCLUDES = FulcrumIncludes
  197. FULCRUM_DEFINES = FulcrumDefines
  198. FULCRUM_LIBDIR = FulcrumLibDir
  199. #endif
  200. #ifdef UseQSearch
  201. QSEARCH_LIBDIR = QSearchLibDir
  202. #endif
  203. #ifdef UseDtSearch
  204. # ifdef UseInstalledCde
  205. DTSEARCH_INCLUDES = $(CDEINCLUDES)
  206. DTSEARCH_LIBDIR = /usr/dt/lib
  207. # elif defined(BuildOutsideCde)
  208. DTSEARCH_INCLUDES = -I$(OLIAS)/../../lib/DtSearch
  209. DTSEARCH_LIBDIR = $(OLIAS)/../../lib/DtSearch
  210. # else
  211. DTSEARCH_INCLUDES = -I$(TOP)/exports/include/Dt
  212. DTSEARCH_LIBDIR = $(TOP)/exports/lib
  213. # endif
  214. #endif
  215. XCOMM BuildTools Include macros
  216. GLOBAL_INCLUDES=-I$(OLIAS)/dtinfogen/global/
  217. #ifdef UseFulcrum
  218. # if defined(AIXArchitecture) || defined(RsArchitecture)
  219. XCOMM -- Need to add something here to circumvent lack of
  220. XCOMM -- LD_LIBRARY_PATH on aix - SWM
  221. FULCRUMLIBS=$(LIBRARY)/fulcrum/aix/lib/libftft.010.1.o
  222. # else
  223. FULCRUMLIBS=$(DYNAMIC) -L$(FULCRUM_LIBDIR) -lftfT
  224. # endif
  225. #else
  226. # ifdef UseQSearch
  227. QSEARCHLIBS=$(DYNAMIC) -L$(QSEARCH_LIBDIR) -lftxcall
  228. # elif defined(UseDtSearch)
  229. DTSEARCHLIBS=$(DYNAMIC) -L$(DTSEARCH_LIBDIR) -lDtSearch
  230. # endif
  231. #endif
  232. MISC_INCLUDES = -I$(MMDB)/misc
  233. DTSVC_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
  234. DTSVCLIB=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
  235. #ifdef BuildOutsideCde
  236. DTHELP_LIBRARY=$(DYNAMIC) -L$(OLIAS)/../../exports/lib -lDtHelp
  237. DTHELP_INCLUDES=$(OLIAS)/../../exports/include
  238. TREE_INCLUDES=-I$(OLIAS)/../../exports/include -I$(OLIAS)/../../exports/include/Misc
  239. #else
  240. DTHELP_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtHelp
  241. DTHELP_INCLUDES=$(TOP)/exports/include
  242. DTPRINTLIB=$(DYNAMIC) $(CDE_LIBS) -lDtPrint
  243. TREE_INCLUDES=$(CDEINCLUDES) $(CDEINCLUDES)/Misc
  244. #endif
  245. #ifdef UseInstalledCde
  246. CDEINCLUDES = -I/usr/dt/include
  247. CDE_LIBS = -L/usr/dt/lib
  248. #else
  249. CDEINCLUDES = -I$(TOP)/exports/include
  250. CDE_LIBS = -L$(TOP)/exports/lib
  251. #endif
  252. MTFLIBDIR = $(TOP)/imports/motif/lib
  253. BROWSER_INCLUDES=-I.. $(UAS_INCLUDES) $(EXCEPTIONS_INCLUDES) $(WWL_INCLUDES) $(TREE_INCLUDES) $(CDEINCLUDES)
  254. #ifdef UseRWClasses
  255. RW_LIBDIR=-L$(LIBRARY)/rogue/$(PLATFORM)
  256. RW_LIB=-lrwtool
  257. RW_INCLUDES=-I$(LIBRARY)/rogue/$(PLATFORM)
  258. #endif
  259. COMMON_CLASS_LIBDIR=$(STATIC) -L$(MMDB)/dti_cc
  260. COMMON_CLASS_LIB=-lcommon_class
  261. COMMON_CLASS_INCLUDES=-I$(MMDB)/dti_cc -I$(MMDB)
  262. DBUG_INCLUDES=
  263. DBUG_LIBS=
  264. STYLE_SHEET_INCLUDES=-I$(MMDB)/StyleSheet $(COMMON_CLASS_INCLUDES)
  265. TREERES=$(TOOLS)/misc/treeres
  266. XCOMM exceptions library
  267. EXCLIB =$(STATIC) -L$(EXCEPTIONS) -lexc
  268. EXCLIB_C_API =$(STATIC) -L$(EXCEPTIONS) -lC_APIexc
  269. MMDB_LIBS=$(STATIC) -L$(OLIAS)/mmdb -lMMDB
  270. MMDB_LIBS_C_API=$(DYNAMIC) -L$(MMDB)/lib -lDtMmdb
  271. #ifdef UseFulcrum
  272. UAS_LIBS = \
  273. $(UAS)/Base/libBase.a \
  274. $(UAS)/MMDB/libMMDB.a \
  275. $(UAS)/Fulcrum/libFulcrum.a
  276. #endif
  277. MATH_LIB=$(DYNAMIC) -lm
  278. MISC_LIB=$(STATIC) -L$(TOOLS)/src -lmisc
  279. #ifdef DoLicenseManagement
  280. XCOMM Licensing libraries and Include macros
  281. XCOMM LICENSE_LROOT is the root of local libraries
  282. XCOMM LICENSE_FROOT is the root of the FlexLM (foreign) libraries
  283. LICENSE_LROOT=LicenseLocalLibDir
  284. LICENSE_FROOT=LicenseForeignLibDir
  285. XCOMM Force-load the Mech*.o files so their static initializers get called,
  286. XCOMM tying the mechanisms into the licensing system
  287. LICENSE_Mechanisms=$(LICENSE_LROOT)/cryptlib/MechFLEXlm.o
  288. LICENSE_L_LIBS=$(LICENSE_Mechanisms) -L$(LICENSE_LROOT)/cryptlib -loliascrypt \
  289. -L$(LICENSE_LROOT)/libdes -loliasdes
  290. LICENSE_L_INCLUDES=-I$(LICENSE_LROOT)
  291. LICENSE_F_INCLUDES=-I$(LICENSE_FROOT)/h
  292. #endif
  293. XCOMM
  294. XCOMM project specific includes go into EXTRA_INCLUDES
  295. XCOMM
  296. CEXT = c
  297. XCOMM
  298. XCOMM Installation stuff
  299. XCOMM
  300. XCOMM
  301. PLATFORM_BIN_DIR=$(PLATFORM)
  302. PLATFORM_TOOLS_DIR=$(TOOLS)/$(PLATFORM_BIN_DIR)
  303. INSTALL_BIN_DIR=$(INSTALL_ROOT)/bin
  304. XCOMM the browser binary uses the following, and must not install to
  305. XCOMM same place as script by same name, which goes to INSTALL_BIN_DIR.
  306. INSTALL_PLATFORM_BIN_DIR=$(INSTALL_BIN_DIR)/$(PLATFORM_BIN_DIR)
  307. INSTALL_LIB_DIR=$(INSTALL_ROOT)/lib
  308. INSTALL_APPCONFIG_DIR=$(INSTALL_ROOT)/appconfig
  309. INSTALL_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
  310. INSTALL_GPL_LIB_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/lib
  311. #ifdef InstallMultiPlatform
  312. INSTALL_PLATFORM_ETC_DIR=$(INSTALL_ETC_DIR)/$(PLATFORM)
  313. INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)/$(PLATFORM)
  314. INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin/$(PLATFORM)
  315. #else
  316. INSTALL_PLATFORM_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
  317. INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)
  318. INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin
  319. #endif
  320. INSTALL_FONTS_DIR=$(INSTALL_ETC_DIR)/fonts
  321. INSTALL_STYLES_DIR=$(INSTALL_LIB_DIR)/Styles.
  322. XCOMM When installing into the following, the lang value must be inserted
  323. XCOMM as the next directory level, due to language-specific content.
  324. INSTALL_INFOLIB_DIR=$(INSTALL_ROOT)/infolib
  325. INSTALL_BITMAPS_DIR=$(INSTALL_APPCONFIG_DIR)/icons
  326. INSTALL_HELP_DIR=$(INSTALL_APPCONFIG_DIR)/help
  327. INSTALL_XRESOURCES_DIR=$(INSTALL_ROOT)/app-defaults
  328. #ifdef InstallMultiPlatform
  329. XCOMM message catalogs as binaries
  330. INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg/$(PLATFORM)
  331. #else
  332. INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg
  333. #endif
  334. #define BigEndianDefines -DOLIAS_BIG_ENDIAN
  335. #define LittleEndianDefines -DOLIAS_LITTLE_ENDIAN
  336. #define DefaultEndianDefines -DOLIAS_DEFAULT_ENDIAN
  337. #ifndef TemplateDB
  338. #define TemplateDB Templates.DB
  339. #endif
  340. XCOMM Following X11 and Mtf defines should be replaced w/ std config
  341. #ifndef X11Includes
  342. # define X11Includes -I$(TOP)/imports/x11/include
  343. #endif
  344. #ifndef MtfIncludes
  345. # define MtfIncludes -I$(TOP)/imports/motif/include
  346. #endif
  347. #ifndef MtfLibraries
  348. # define MtfLibraries $(DYNAMIC) $(XMLIB)
  349. #endif
  350. #ifndef X11Libraries
  351. # define X11Libraries $(DYNAMIC) $(XTOOLLIB) $(XMULIB) $(XLIB)
  352. #endif
  353. X11_INCLUDES=X11Includes
  354. X11_LIBRARIES=X11Libraries
  355. MTF_INCLUDES=MtfIncludes
  356. MTF_LIBRARIES=MtfLibraries
  357. XMLIB = -L$(MTFLIBDIR) -lXm
  358. XTOOLLIB = -L$(TOP)/imports/x11/lib $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
  359. #if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
  360. NO_EXC=-noex
  361. TEMPLATE_OBJS=*.o.ptrep/TemplateDB//**/*.o
  362. TEMPLATE_DB=*.o.ptrep
  363. #elif defined(SunArchitecture) && CplusplusCompilerMajorVersion > 2
  364. NO_EXC=-noex
  365. TEMPLATE_DB=TemplateDB
  366. TEMPLATE_OBJS=TemplateDB//**/*.o
  367. #endif
  368. #define TemplateObjs $(TEMPLATE_OBJS)
  369. #if defined(i386Architecture) || defined(AMD64Architecture) || defined(AlphaArchitecture) || defined(ARMArchitecture)
  370. # define ByteOrderDefines LittleEndianDefines
  371. #elif defined(HAL32V7Architecture) || defined(SunArchitecture) || defined(AIXArchitecture) || defined(HPArchitecture) || defined(UXPArchitecture)
  372. # define ByteOrderDefines BigEndianDefines
  373. #else
  374. # define ByteOrderDefines DefaultEndianDefines
  375. #endif
  376. BYTE_ORDER_DEFINES=ByteOrderDefines
  377. /*
  378. * The following stuffs are default rules required by build_tools
  379. *
  380. */
  381. install_buildtools::