cde.rules revision 1c80d5b0
1/*
2 *  @OSF_COPYRIGHT@
3 *  COPYRIGHT NOTICE
4 *  Copyright (c) 1990, 1991, 1992, 1993, 1998 The Open Group , Inc.
5 *  ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
6 *  the full copyright text.
7 *
8 * (c) Copyright 1996 Digital Equipment Corporation.
9 * (c) Copyright 1996 Hewlett-Packard Company.
10 * (c) Copyright 1996 International Business Machines Corp.
11 * (c) Copyright 1996 Sun Microsystems, Inc.
12 * (c) Copyright 1996 Novell, Inc.
13 * (c) Copyright 1996 FUJITSU LIMITED.
14 * (c) Copyright 1996 Hitachi.
15 */
16XCOMM $Xorg: cde.rules,v 1.3 2000/08/17 19:41:47 cpqbld Exp $
17
18/* Note whether we are the top level project. */
19#ifndef SeenTopLevelProject
20# define SeenTopLevelProject	YES
21# define CDEIsTopLevelProject	YES
22#else
23# define CDEIsTopLevelProject	NO
24#endif
25
26/* Include the Motif project rules file. */
27#include <Motif.rules>
28
29
30/* Use the in-tree CDE by default. */
31#ifndef UseInstalledCDE
32# define UseInstalledCDE	NO
33#endif
34#ifdef UseInstalled
35# undef UseInstalledCDE
36# define UseInstalledCDE	YES
37#endif
38
39#ifndef ImportCDE
40# ifdef UseImports
41#  define ImportCDE		YES
42# else
43#  define ImportCDE		NO
44# endif
45#endif
46#if UseInstalledCDE
47# undef ImportCDE
48# define ImportCDE		NO
49#endif
50
51/* If CDE has a different ProjectRoot we need to search the regular ones too. */
52#ifdef CDEProjectRoot
53# define CUsrLibDirPath	Concat(MUsrLibDirPath,:$(CDEPROJECTROOT)/lib)
54#else
55# define CUsrLibDirPath	MUsrLibDirPath
56#endif
57#ifdef UsrLibDirPath
58# undef UsrLibDirPath
59#endif
60#define UsrLibDirPath	CUsrLibDirPath
61
62#if ImportCDE
63# define CLdPreLibs	-L$(CDELIBSRC)
64#elif defined(UseInstalledCDE) && defined(CDEProjectRoot)
65# define CLdPreLibs	-L$(CDEPROJECTROOT)/lib
66#else
67# define CLdPreLibs	/**/
68#endif
69#ifdef LdPreLibs
70# undef LdPreLibs
71#endif
72#define LdPreLibs	LdPreLib CLdPreLibs MLdPreLibs XLdPreLibs
73
74#ifdef CDEProjectRoot
75# define CLdPostLibs	-L$(CDEPROJECTROOT)/lib
76#else
77# define CLdPostLibs	/**/
78#endif
79#ifdef LdPostLibs
80# undef LdPostLibs
81#endif
82#define LdPostLibs	LdPostLib CLdPostLibs MLdPostLibs XLdPostLibs
83
84#ifdef TopIncludes
85# undef TopIncludes
86#endif
87#define TopIncludes	TopInclude $(TOP_CDE_INCLUDES) $(TOP_MOTIF_INCLUDES) $(TOP_X_INCLUDES)
88
89#if UseInstalledCDE && defined(CDEProjectRoot)
90# define CDEBuildLibPath	$(CDEPROJECTROOT)/lib
91#elif UseInstalledCDE
92# define CDEBuildLibPath	$(USRLIBDIR)
93#elif ImportCDE
94# define CDEBuildLibPath	$(CDELIBSRC)
95#else
96# define CDEBuildLibPath	$(TOP)/exports/lib
97#endif
98#ifdef BuildLibPath
99# undef BuildLibPath
100#endif
101#ifdef SystemBuildLibPath
102# define BuildLibPath		\
103$(DTENVLIBDIR):$(MOTIFENVLIBDIR):$(XENVLIBDIR):$(SYSTEMENVLIBDIR)
104#else
105# define BuildLibPath		$(DTENVLIBDIR):$(MOTIFENVLIBDIR):$(XENVLIBDIR)
106#endif
107
108
109#ifndef CdeInstallationTop
110# define CdeInstallationTop	/usr/dt
111#endif
112#ifndef CdeConfigurationTop
113# define CdeConfigurationTop	/etc/dt
114#endif
115#ifndef CdeLogFilesTop
116# define CdeLogFilesTop		/var/dt
117#endif
118#ifndef CdeUserTop
119# define CdeUserTop		.dt
120#endif
121
122#ifndef CdeProjectDefines
123# define CdeProjectDefines	\
124	-DANSICPP -DMULTIBYTE -DNLS16 \
125	-DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
126#endif
127#ifdef ProjectDefines
128# undef ProjectDefines
129#endif
130#define ProjectDefines	X11ProjectDefines MotifProjectDefines CdeProjectDefines
131
132#ifndef CdeCplusplusProjectDefines
133# define CdeCplusplusProjectDefines	CdeProjectDefines
134#endif
135#ifdef CplusplusProjectDefines
136# undef CplusplusProjectDefines
137#endif
138#define CplusplusProjectDefines	\
139	X11CplusplusProjectDefines MotifCplusplusProjectDefines CdeCplusplusProjectDefines
140
141/*
142 * Doc build rules
143 */
144
145/*
146 * MakeSdlVolume - generate rules to create an SDL volume, in the specified
147 * directory, from an SGML source doc.
148 * Note: the volume name must match the directory name.
149 */
150#ifndef MakeSdlVolume
151#define MakeSdlVolume(vol,dir,env,opts,dep)				@@\
152all:: dir/vol.sdl							@@\
153									@@\
154dir/vol.sdl: dep							@@\
155	MakeDir(dir)							@@\
156	env $(DTDOCBOOK) $(DTDOCBOOKOPTIONS) opts -o dir/vol.sdl vol/book.sgm	@@\
157									@@\
158clean::									@@\
159	$(RM) dir/vol.sdl vol/book.log
160#endif
161
162/*
163 * MakeTocFile - generate rules to create an SGML TOC file.
164 * Note: the volume name must match the directory name.
165 */
166#ifndef MakeTocFile
167#define MakeTocFile(vol,env,opts,ttle,ident,dep)					@@\
168all:: vol/TOC.sgm							@@\
169									@@\
170vol/TOC.sgm: dep							@@\
171	MakeDir($(DTINFOGENTMPDIR))					@@\
172	env $(DTINFOGEN) tocgen -T $(DTINFOGENTMPDIR) $(DTINFOGENOPTIONS) opts -f vol/TOC.sgm -id ident -title ttle vol/book.sgm	@@\
173									@@\
174clean::									@@\
175	$(RM) vol/TOC.sgm
176#endif
177
178#ifndef MakeTocFile3
179#define MakeTocFile3(vol,env,opts,ttle,ident,dep1,dep2,dep3)			@@\
180all:: vol/TOC.sgm							@@\
181									@@\
182vol/TOC.sgm: dep1							@@\
183vol/TOC.sgm: dep2							@@\
184vol/TOC.sgm: dep3							@@\
185	MakeDir($(DTINFOGENTMPDIR))					@@\
186	env $(DTINFOGEN) tocgen -T $(DTINFOGENTMPDIR) $(DTINFOGENOPTIONS) opts -f vol/TOC.sgm -id ident -title ttle vol/book.sgm	@@\
187									@@\
188clean::									@@\
189	$(RM) vol/TOC.sgm
190#endif
191
192/*
193 * TocFileDep - generate TOC file dependency rule
194 */
195#ifndef TocFileDep
196#define TocFileDep(vol,dep)						@@\
197vol/TOC.sgm: dep
198#endif
199
200/*
201 * MakeInfolib - generate rules to create an infolib.
202 */
203#ifndef MakeInfolib
204#define MakeInfolib(infolib,bkcase,env,opts,dep)			@@\
205all:: infolib/bkcase/dtsearch/dtsearch.ocf				@@\
206									@@\
207infolib/bkcase/dtsearch/dtsearch.ocf: dep				@@\
208	MakeDir($(DTINFOGENTMPDIR))					@@\
209	MakeDir(infolib)						@@\
210	env $(DTINFOGEN) build -T $(DTINFOGENTMPDIR) $(DTINFOGENOPTIONS) opts -l infolib bookcase.bc
211#endif
212
213/*
214 * InfolibDep - generate infolib dependency rule - Highly depending on MMDB!
215 */
216#ifndef InfolibDep
217#define InfolibDep(infolib,bkcase,dep)					@@\
218infolib/bkcase/dtsearch/dtsearch.ocf: dep
219#endif
220
221#ifndef InfolibDep3
222#define InfolibDep3(infolib,bkcase,dep1,dep2,dep3)			@@\
223infolib/bkcase/dtsearch/dtsearch.ocf: dep1				@@\
224infolib/bkcase/dtsearch/dtsearch.ocf: dep2				@@\
225infolib/bkcase/dtsearch/dtsearch.ocf: dep3
226#endif
227