cdesktopenv/cde/config/cf/DtInfo.tmpl

431 lines
11 KiB
Cheetah

XCOMM $TOG: DtInfo.tmpl /main/37 1997/09/05 11:31:26 samborn $
XCOMM OLIAS project common makefile
/* Chain project template files. */
#include <cde.tmpl>
#define CdeDesktop
XCOMM #define BuildOutsideCde
#ifdef BuildOutsideCde
XCOMM These are set by default when building outside of the CDE source
XCOMM tree. Some use-installed support needs to be implemented for all
XCOMM cases, however, once CDE build integration and revamped CDE Imake
XCOMM config based on X11R6 is complete.
# ifndef UseInstalledCde
XCOMM build using installed Motif and CDE libs and headers
# define UseInstalledCde
# endif
# ifndef UseInstalled
XCOMM build using installed X11 libs and headers
# define UseInstalled
# endif
# ifndef BuildLocalInfolibs
XCOMM infolib(s) built from local subtree
# define BuildLocalInfolibs
# endif
# ifndef BuildStandalonePackaging
XCOMM provide for independent (non-cde) packaging
# define BuildStandalonePackaging
# endif
# ifndef InstallMultiPlatform
XCOMM have multiple platforms run out of the same install tree,
XCOMM sharing everything except binary parts
# define InstallMultiPlatform
# endif
#endif
#ifdef CdeDesktop
XCOMM Provide flags for CDE desktop facilities explicitly if CDE context.
XCOMM (Note, these will assume a post-CDE 1.0 functional revision level.)
# define DtinfoClient
# define UseMotifXpm
# define UseTooltalk
XCOMM X11 R6 session management
# define UseSessionMgmt
#endif
#ifdef DtinfoClient
XCOMM Turn off all flags not applicable to CDE dtinfo client,
XCOMM and turn on those that are:
XCOMM -- search engine
# define UseDtSearch
# ifdef UseQSearch
# undef UseQSearch
# endif
# ifdef UseFulcrum
# undef UseFulcrum
# endif
XCOMM -- canvas and/or rendering engine
# define UseDtCanvas
# ifdef UseTmlRenderer
# undef UseTmlRenderer
# endif
XCOMM -- remote connections
# ifdef UsePython
# undef UsePython
# endif
XCOMM -- specific license managers
# ifdef DoLicenseManagement
# undef DoLicenseManagement
# endif
XCOMM -- special libraries
# ifdef UseRWClasses
# undef UseRWClasses
# endif
#endif
#define WideCharSupport
#define UseWideChars
#define Internationalize
#define JapaneseLocal
#ifdef DtinfoClient
DTINFO_DEFINES=-DDtinfoClient -DUseMotifXpm -DUseTooltalk -DUseSessionMgmt
#elif defined(CdeDesktop)
DTINFO_DEFINES=-DUseMotifXpm -DUseTooltalk -DUseSessionMgmt
#else
DTINFO_DEFINES=
#endif
#ifdef UseWideChars
WIDEC_DEFINES=-DUseWideChars
#else
WIDEC_DEFINES=
#endif
#ifdef Internationalize
I18N_DEFINES=-DInternationalize
#else
I18N_DEFINES=
#endif
#ifdef UseQSearch
XCOMM The QSearch Japanese-language search engine is available only on
XCOMM Solaris, so only enable it there.
SEARCH_DEFINES=-DUseQSearch
#elif defined(UseDtSearch)
SEARCH_DEFINES=-DDTSEARCH
#else
SEARCH_DEFINES=-DFULCRUM
#endif
#ifdef UseDlOpen
DLOPEN_DEFINES=-DUseDlOpen
#else
DLOPEN_DEFINES=
#endif
#ifdef DoLicenseManagement
LM_DEFINES=
LM_INCLUDES=
#else
LM_DEFINES=
LM_INCLUDES=
#endif
#ifdef Purify
XCOMM if Purify is defined then set the variable PURIFY - cso 941215
PURIFY=PurifyCmd
#endif
#ifdef SunArchitecture
STATIC=-Bstatic
DYNAMIC=-Bdynamic
# if (OSMajorVersion == 5)
EXTRA_LIBRARIES=$(DYNAMIC) ExtraLibraries -lresolv
# endif
# if (OSMajorVersion == 4)
# define BuildPython
# endif
#endif
#ifdef HPArchitecture
STATIC=-Wl,-a,archive
DYNAMIC=-Wl,-a,shared
# define NeedLocalAlloca
#endif
XCOMM set platform subdir finder
#ifdef HAL32V7Architecture
PLATFORM=halos
# define DoLicenseManagement
#elif defined(HPArchitecture)
PLATFORM=hpux
#elif defined(AIXArchitecture)
PLATFORM=aix
#elif defined(SystemV4) && defined(i386)
PLATFORM=solaris-386
#elif defined(SystemV4)
PLATFORM=solaris
#else
PLATFORM=sunos
#endif
XCOMM end set platform subdir finder
OLIAS = $(PROGRAMSRC)/dtinfo
CONTROL=$(OLIAS)/control
LIBRARY = $(OLIAS)/library
#ifdef UseTmlRenderer
TML = $(OLIAS)/tml
#endif
WWL = $(OLIAS)/dtinfo/wwl
MMDB = $(CDELIBSRC)/DtMmdb
EXCEPTIONS = $(MMDB)/dti_excs
TOOLS = $(OLIAS)/tools
UAS = $(OLIAS)/dtinfo/src/UAS
LIBCHECK = $(SHELL) $(CURRENT_DIR)/libcheck $(PLATFORM)
#ifdef UsePython
XCOMM
XCOMM Python-related definitions
XCOMM
PYTHON_ROOT = $(LIBRARY)/python/unix
PYTHON = $(PYTHON_ROOT)/python
PYTHON_INCLUDES = -I$(PYTHON_ROOT) -I$(PYTHON_ROOT)/Include
PYTHON_LIB_PATH = -L$(PYTHON_ROOT)/Modules -L$(PYTHON_ROOT)/Python -L$(PYTHON_ROOT)/Objects \
-L$(PYTHON_ROOT)/Parser -L$(PYTHON_ROOT)/readline
PYTHON_LIBS = $(PYTHON_ROOT)/Modules/config.nomain.o -lModules -lPython -lObjects -lParser -lreadline
PYTHON_SYS_LIBS =$(DYNAMIC) -ltermcap -lm
#endif
#ifdef UseTmlRenderer
TML_INCLUDES = -I$(TML)/include
TML_LIBS=-L$(TML)/src -ltml
#endif
WWL_INCLUDES = -I$(WWL)/include
WWL_LIBS=$(STATIC) -L$(WWL)/src -lWWL
EXCEPTIONS_INCLUDES = -I$(EXCEPTIONS)
MMDB_INCLUDES = -I$(MMDB)
UAS_INCLUDES = -I$(UAS)/Base
#ifdef UseFulcrum
FULCRUM_INCLUDES = FulcrumIncludes
FULCRUM_DEFINES = FulcrumDefines
FULCRUM_LIBDIR = FulcrumLibDir
#endif
#ifdef UseQSearch
QSEARCH_LIBDIR = QSearchLibDir
#endif
#ifdef UseDtSearch
# ifdef UseInstalledCde
DTSEARCH_INCLUDES = $(CDEINCLUDES)
DTSEARCH_LIBDIR = /usr/dt/lib
# elif defined(BuildOutsideCde)
DTSEARCH_INCLUDES = -I$(OLIAS)/../../lib/DtSearch
DTSEARCH_LIBDIR = $(OLIAS)/../../lib/DtSearch
# else
DTSEARCH_INCLUDES = -I$(TOP)/exports/include/Dt
DTSEARCH_LIBDIR = $(TOP)/exports/lib
# endif
#endif
XCOMM BuildTools Include macros
GLOBAL_INCLUDES=-I$(OLIAS)/dtinfogen/global/
#ifdef UseFulcrum
# if defined(AIXArchitecture) || defined(RsArchitecture)
XCOMM -- Need to add something here to circumvent lack of
XCOMM -- LD_LIBRARY_PATH on aix - SWM
FULCRUMLIBS=$(LIBRARY)/fulcrum/aix/lib/libftft.010.1.o
# else
FULCRUMLIBS=$(DYNAMIC) -L$(FULCRUM_LIBDIR) -lftfT
# endif
#else
# ifdef UseQSearch
QSEARCHLIBS=$(DYNAMIC) -L$(QSEARCH_LIBDIR) -lftxcall
# elif defined(UseDtSearch)
DTSEARCHLIBS=$(DYNAMIC) -L$(DTSEARCH_LIBDIR) -lDtSearch
# endif
#endif
MISC_INCLUDES = -I$(MMDB)/misc
DTSVC_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
DTSVCLIB=$(DYNAMIC) $(CDE_LIBS) -lDtSvc
#ifdef BuildOutsideCde
DTHELP_LIBRARY=$(DYNAMIC) -L$(OLIAS)/../../exports/lib -lDtHelp
DTHELP_INCLUDES=$(OLIAS)/../../exports/include
TREE_INCLUDES=-I$(OLIAS)/../../exports/include -I$(OLIAS)/../../exports/include/Misc
#else
DTHELP_LIBRARY=$(DYNAMIC) $(CDE_LIBS) -lDtHelp
DTHELP_INCLUDES=$(TOP)/exports/include
DTPRINTLIB=$(DYNAMIC) $(CDE_LIBS) -lDtPrint
TREE_INCLUDES=$(CDEINCLUDES) $(CDEINCLUDES)/Misc
#endif
#ifdef UseInstalledCde
CDEINCLUDES = -I/usr/dt/include
CDE_LIBS = -L/usr/dt/lib
#else
CDEINCLUDES = -I$(TOP)/exports/include
CDE_LIBS = -L$(TOP)/exports/lib
#endif
MTFLIBDIR = $(TOP)/imports/motif/lib
BROWSER_INCLUDES=-I.. $(UAS_INCLUDES) $(EXCEPTIONS_INCLUDES) $(WWL_INCLUDES) $(TREE_INCLUDES) $(CDEINCLUDES)
#ifdef UseRWClasses
RW_LIBDIR=-L$(LIBRARY)/rogue/$(PLATFORM)
RW_LIB=-lrwtool
RW_INCLUDES=-I$(LIBRARY)/rogue/$(PLATFORM)
#endif
COMMON_CLASS_LIBDIR=$(STATIC) -L$(MMDB)/dti_cc
COMMON_CLASS_LIB=-lcommon_class
COMMON_CLASS_INCLUDES=-I$(MMDB)/dti_cc -I$(MMDB)
DBUG_INCLUDES=
DBUG_LIBS=
STYLE_SHEET_INCLUDES=-I$(MMDB)/StyleSheet $(COMMON_CLASS_INCLUDES)
TREERES=$(TOOLS)/misc/treeres
XCOMM exceptions library
EXCLIB =$(STATIC) -L$(EXCEPTIONS) -lexc
EXCLIB_C_API =$(STATIC) -L$(EXCEPTIONS) -lC_APIexc
MMDB_LIBS=$(STATIC) -L$(OLIAS)/mmdb -lMMDB
MMDB_LIBS_C_API=$(DYNAMIC) -L$(MMDB)/lib -lDtMmdb
#ifdef UseFulcrum
UAS_LIBS = \
$(UAS)/Base/libBase.a \
$(UAS)/MMDB/libMMDB.a \
$(UAS)/Fulcrum/libFulcrum.a
#endif
MATH_LIB=$(DYNAMIC) -lm
MISC_LIB=$(STATIC) -L$(TOOLS)/src -lmisc
#ifdef DoLicenseManagement
XCOMM Licensing libraries and Include macros
XCOMM LICENSE_LROOT is the root of local libraries
XCOMM LICENSE_FROOT is the root of the FlexLM (foreign) libraries
LICENSE_LROOT=LicenseLocalLibDir
LICENSE_FROOT=LicenseForeignLibDir
XCOMM Force-load the Mech*.o files so their static initializers get called,
XCOMM tying the mechanisms into the licensing system
LICENSE_Mechanisms=$(LICENSE_LROOT)/cryptlib/MechFLEXlm.o
LICENSE_L_LIBS=$(LICENSE_Mechanisms) -L$(LICENSE_LROOT)/cryptlib -loliascrypt \
-L$(LICENSE_LROOT)/libdes -loliasdes
LICENSE_L_INCLUDES=-I$(LICENSE_LROOT)
LICENSE_F_INCLUDES=-I$(LICENSE_FROOT)/h
#endif
XCOMM
XCOMM project specific includes go into EXTRA_INCLUDES
XCOMM
CEXT = c
XCOMM
XCOMM Installation stuff
XCOMM
XCOMM
PLATFORM_BIN_DIR=$(PLATFORM)
PLATFORM_TOOLS_DIR=$(TOOLS)/$(PLATFORM_BIN_DIR)
INSTALL_BIN_DIR=$(INSTALL_ROOT)/bin
XCOMM the browser binary uses the following, and must not install to
XCOMM same place as script by same name, which goes to INSTALL_BIN_DIR.
INSTALL_PLATFORM_BIN_DIR=$(INSTALL_BIN_DIR)/$(PLATFORM_BIN_DIR)
INSTALL_LIB_DIR=$(INSTALL_ROOT)/lib
INSTALL_APPCONFIG_DIR=$(INSTALL_ROOT)/appconfig
INSTALL_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
INSTALL_GPL_LIB_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/lib
#ifdef InstallMultiPlatform
INSTALL_PLATFORM_ETC_DIR=$(INSTALL_ETC_DIR)/$(PLATFORM)
INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)/$(PLATFORM)
INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin/$(PLATFORM)
#else
INSTALL_PLATFORM_ETC_DIR=$(INSTALL_INFOLIB_DIR)/etc
INSTALL_PLATFORM_LIB_DIR=$(INSTALL_LIB_DIR)
INSTALL_GPL_PLATFORM_BIN_DIR=$(INSTALL_ETC_DIR)/gpl/$(GPL_PRODUCT)/bin
#endif
INSTALL_FONTS_DIR=$(INSTALL_ETC_DIR)/fonts
INSTALL_STYLES_DIR=$(INSTALL_LIB_DIR)/Styles.
XCOMM When installing into the following, the lang value must be inserted
XCOMM as the next directory level, due to language-specific content.
INSTALL_INFOLIB_DIR=$(INSTALL_ROOT)/infolib
INSTALL_BITMAPS_DIR=$(INSTALL_APPCONFIG_DIR)/icons
INSTALL_HELP_DIR=$(INSTALL_APPCONFIG_DIR)/help
INSTALL_XRESOURCES_DIR=$(INSTALL_ROOT)/app-defaults
#ifdef InstallMultiPlatform
XCOMM message catalogs as binaries
INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg/$(PLATFORM)
#else
INSTALL_MSG_CAT_DIR=$(INSTALL_LIB_DIR)/nls/msg
#endif
#define BigEndianDefines -DOLIAS_BIG_ENDIAN
#define LittleEndianDefines -DOLIAS_LITTLE_ENDIAN
#define DefaultEndianDefines -DOLIAS_DEFAULT_ENDIAN
#ifndef TemplateDB
#define TemplateDB Templates.DB
#endif
XCOMM Following X11 and Mtf defines should be replaced w/ std config
#ifndef X11Includes
# define X11Includes -I$(TOP)/imports/x11/include
#endif
#ifndef MtfIncludes
# define MtfIncludes -I$(TOP)/imports/motif/include
#endif
#ifndef MtfLibraries
# define MtfLibraries $(DYNAMIC) $(XMLIB)
#endif
#ifndef X11Libraries
# define X11Libraries $(DYNAMIC) $(XTOOLLIB) $(XMULIB) $(XLIB)
#endif
X11_INCLUDES=X11Includes
X11_LIBRARIES=X11Libraries
MTF_INCLUDES=MtfIncludes
MTF_LIBRARIES=MtfLibraries
XMLIB = -L$(MTFLIBDIR) -lXm
XTOOLLIB = -L$(TOP)/imports/x11/lib $(XTOOLONLYLIB) $(SMLIB) $(ICELIB)
#if defined(SunArchitecture) && CplusplusCompilerMajorVersion > 3
NO_EXC=-noex
TEMPLATE_OBJS=*.o.ptrep/TemplateDB//**/*.o
TEMPLATE_DB=*.o.ptrep
#elif defined(SunArchitecture) && CplusplusCompilerMajorVersion > 2
NO_EXC=-noex
TEMPLATE_DB=TemplateDB
TEMPLATE_OBJS=TemplateDB//**/*.o
#endif
#define TemplateObjs $(TEMPLATE_OBJS)
#if defined(i386Architecture) || defined(AMD64Architecture) || defined(AlphaArchitecture) || defined(ARMArchitecture) || defined(AArch64Architecture)
# define ByteOrderDefines LittleEndianDefines
#elif defined(HAL32V7Architecture) || defined(SunArchitecture) || defined(AIXArchitecture) || defined(HPArchitecture)
# define ByteOrderDefines BigEndianDefines
#else
# define ByteOrderDefines DefaultEndianDefines
#endif
BYTE_ORDER_DEFINES=ByteOrderDefines
/*
* The following stuffs are default rules required by build_tools
*
*/
install_buildtools::