431 lines
11 KiB
Cheetah
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::
|