11c80d5b0Smrg/*
211d341caSmrg *  @OSF_COPYRIGHT@
311d341caSmrg *  COPYRIGHT NOTICE
411d341caSmrg *  Copyright (c) 1990, 1991, 1992, 1993, 1998 The Open Group, Inc.
511d341caSmrg *  ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
611d341caSmrg *  the full copyright text.
711d341caSmrg *
811d341caSmrg * (c) Copyright 1996 Digital Equipment Corporation.
911d341caSmrg * (c) Copyright 1996 Hewlett-Packard Company.
1011d341caSmrg * (c) Copyright 1996 International Business Machines Corp.
1111d341caSmrg * (c) Copyright 1996 Sun Microsystems, Inc.
121c80d5b0Smrg * (c) Copyright 1996 Novell, Inc.
1311d341caSmrg * (c) Copyright 1996 FUJITSU LIMITED.
1411d341caSmrg * (c) Copyright 1996 Hitachi.
151c80d5b0Smrg */
1611d341caSmrgXCOMM $Xorg: Motif.rules,v 1.3 2000/08/17 19:41:46 cpqbld Exp $
1711d341caSmrg
1811d341caSmrg/* Note whether we are the top level project. */
1911d341caSmrg#ifndef SeenTopLevelProject
2011d341caSmrg# define SeenTopLevelProject	YES
2111d341caSmrg# define MotifIsTopLevelProject	YES
2211d341caSmrg#else
2311d341caSmrg# define MotifIsTopLevelProject	NO
2411d341caSmrg#endif
2511d341caSmrg
2611d341caSmrg/* Include the X11 project rules file. */
2711d341caSmrg#include <X11.rules>
2811d341caSmrg
2911d341caSmrg
3011d341caSmrg/* Use the in-tree Motif by default. */
3111d341caSmrg#ifndef UseInstalledMotif
3211d341caSmrg# define UseInstalledMotif	NO
3311d341caSmrg#endif
3411d341caSmrg#ifdef UseInstalled
3511d341caSmrg# undef UseInstalledMotif
3611d341caSmrg# define UseInstalledMotif	YES
3711d341caSmrg#endif
3811d341caSmrg
3911d341caSmrg#ifndef ImportMotif
4011d341caSmrg# ifdef UseImports
4111d341caSmrg#  define ImportMotif		YES
4211d341caSmrg# else
4311d341caSmrg#  define ImportMotif		NO
4411d341caSmrg# endif
4511d341caSmrg#endif
4611d341caSmrg#if UseInstalledMotif
4711d341caSmrg# undef ImportMotif
4811d341caSmrg# define ImportMotif		NO
4911d341caSmrg#endif
5011d341caSmrg
5111d341caSmrg#ifndef MSimpleProgramTarget
5211d341caSmrg#define MSimpleProgramTarget(program)                                   @@\
5311d341caSmrgAllTarget(program)                                                      @@\
5411d341caSmrg	                                                                @@\
5511d341caSmrgprogram: program.o $(DEPS) $(DEPLIBS)					@@\
5611d341caSmrg	RemoveTargetProgram($@)                                         @@\
5711d341caSmrg	$(CC) -o $@ program.o $(LDOPTIONS) $(DEPS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS)  @@\
5811d341caSmrg	                                                                @@\
5911d341caSmrgclean::                                                                 @@\
6011d341caSmrg	$(RM) program
6111d341caSmrg#endif
6211d341caSmrg
6311d341caSmrg#ifndef MSimpleUilTarget
6411d341caSmrg#define MSimpleUilTarget(program)                                       @@\
6511d341caSmrgMSimpleProgramTarget(program)						@@\
6611d341caSmrg									@@\
6711d341caSmrgInstallProgram(program,$(BINDIR))					@@\
6811d341caSmrg									@@\
6911d341caSmrgMSimpleUidTarget(program)
7011d341caSmrg#endif
7111d341caSmrg
7211d341caSmrg/*
7311d341caSmrg * UILFLAGS contains site/vendor-specific flags
7411d341caSmrg * defined by UilFlags, which supposed to be set in *.cf or
7511d341caSmrg * site.def files.
7611d341caSmrg * LOCAL_UILFLAGS(_n) contains client-specific uil flags set in Imakefile
7711d341caSmrg */
7811d341caSmrg
7911d341caSmrg#ifndef MSimpleUidTarget
8011d341caSmrg#define MSimpleUidTarget(program)                                       @@\
8111d341caSmrgAllTarget(program.uid)                                                  @@\
8211d341caSmrg	                                                                @@\
8311d341caSmrgprogram.uid: program.uil $(DEPUIL)                                      @@\
8411d341caSmrg	RemoveTargetProgram($@)                                         @@\
8511d341caSmrg	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS) -o $@ program.uil $(UIL_INCLUDES)	@@\
8611d341caSmrg	                                                                @@\
8711d341caSmrgInstallNonExecFile(program.uid,$(UIDDIR))                               @@\
8811d341caSmrg                                                                        @@\
8911d341caSmrgclean::                                                                 @@\
9011d341caSmrg	$(RM) program.uid
9111d341caSmrg#endif
9211d341caSmrg
9311d341caSmrg#ifndef MSimpleUidLocaleTarget
9411d341caSmrg#define MSimpleUidLocaleTarget(program,locale)                          @@\
9511d341caSmrgAllTarget(program.uid)                                                  @@\
9611d341caSmrg	                                                                @@\
9711d341caSmrgprogram.uid: program.uil $(DEPUIL)                                      @@\
9811d341caSmrg	RemoveTargetProgram($@)                                         @@\
9911d341caSmrg	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS) -o $@ program.uil $(UIL_INCLUDES)	@@\
10011d341caSmrg	                                                                @@\
10111d341caSmrgInstallNonExecFile(program.uid,$(LIBDIR)/locale/uid)                    @@\
10211d341caSmrg                                                                        @@\
10311d341caSmrgclean::                                                                 @@\
10411d341caSmrg	$(RM) program.uid
10511d341caSmrg#endif
10611d341caSmrg
10711d341caSmrg#ifndef MComplexUidTarget_1
10811d341caSmrg#define MComplexUidTarget_1(program)                                    @@\
10911d341caSmrg	                                                                @@\
11011d341caSmrgAllTarget(program.uid)                                                  @@\
11111d341caSmrg	                                                                @@\
11211d341caSmrgprogram.uid:  $(UILS1) $(DEPUIL)                                        @@\
11311d341caSmrg	RemoveTargetProgram($@)                                         @@\
11411d341caSmrg	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_1) -o $@ program.uil $(UIL_INCLUDES)	@@\
11511d341caSmrg	                                                                @@\
11611d341caSmrgInstallNonExecFile(program.uid,$(UIDDIR))                               @@\
11711d341caSmrg                                                                        @@\
11811d341caSmrgclean::                                                                 @@\
11911d341caSmrg	$(RM) program.uid
12011d341caSmrg#endif
12111d341caSmrg
12211d341caSmrg#ifndef MComplexUidTarget_2
12311d341caSmrg#define MComplexUidTarget_2(program)                                    @@\
12411d341caSmrg	                                                                @@\
12511d341caSmrgAllTarget(program.uid)                                                  @@\
12611d341caSmrg	                                                                @@\
12711d341caSmrgprogram.uid:  $(UILS2) $(DEPUIL)                                        @@\
12811d341caSmrg	RemoveTargetProgram($@)                                         @@\
12911d341caSmrg	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_2) -o $@ program.uil $(UIL_INCLUDES)	@@\
13011d341caSmrg	                                                                @@\
13111d341caSmrgInstallNonExecFile(program.uid,$(UIDDIR))                               @@\
13211d341caSmrg                                                                        @@\
13311d341caSmrgclean::                                                                 @@\
13411d341caSmrg	$(RM) program.uid
13511d341caSmrg#endif
13611d341caSmrg
13711d341caSmrg#ifndef MComplexUidTarget_3
13811d341caSmrg#define MComplexUidTarget_3(program)                                    @@\
13911d341caSmrg	                                                                @@\
14011d341caSmrgAllTarget(program.uid)                                                  @@\
14111d341caSmrg	                                                                @@\
14211d341caSmrgprogram.uid:  $(UILS3) $(DEPUIL)                                        @@\
14311d341caSmrg	RemoveTargetProgram($@)                                         @@\
14411d341caSmrg	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_3) -o $@ program.uil $(UIL_INCLUDES)	@@\
14511d341caSmrg	                                                                @@\
14611d341caSmrgInstallNonExecFile(program.uid,$(UIDDIR))                               @@\
14711d341caSmrg                                                                        @@\
14811d341caSmrgclean::                                                                 @@\
14911d341caSmrg	$(RM) program.uid
15011d341caSmrg#endif
15111d341caSmrg
15211d341caSmrg#ifndef MComplexUidTarget_4
15311d341caSmrg#define MComplexUidTarget_4(program)                                    @@\
15411d341caSmrg	                                                                @@\
15511d341caSmrgAllTarget(program.uid)                                                  @@\
15611d341caSmrg	                                                                @@\
15711d341caSmrgprogram.uid:  $(UILS4) $(DEPUIL)                                        @@\
15811d341caSmrg	RemoveTargetProgram($@)                                         @@\
15911d341caSmrg	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_4) -o $@ program.uil $(UIL_INCLUDES)	@@\
16011d341caSmrg	                                                                @@\
16111d341caSmrgInstallNonExecFile(program.uid,$(UIDDIR))                               @@\
16211d341caSmrg                                                                        @@\
16311d341caSmrgclean::                                                                 @@\
16411d341caSmrg	$(RM) program.uid
16511d341caSmrg#endif
16611d341caSmrg
16711d341caSmrg#ifndef MComplexUidTarget_5
16811d341caSmrg#define MComplexUidTarget_5(program)                                    @@\
16911d341caSmrg	                                                                @@\
17011d341caSmrgAllTarget(program.uid)                                                  @@\
17111d341caSmrg	                                                                @@\
17211d341caSmrgprogram.uid:  $(UILS5) $(DEPUIL)                                        @@\
17311d341caSmrg	RemoveTargetProgram($@)                                         @@\
17411d341caSmrg	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_5) -o $@ program.uil $(UIL_INCLUDES)	@@\
17511d341caSmrg	                                                                @@\
17611d341caSmrgInstallNonExecFile(program.uid,$(UIDDIR))                               @@\
17711d341caSmrg                                                                        @@\
17811d341caSmrgclean::                                                                 @@\
17911d341caSmrg	$(RM) program.uid
18011d341caSmrg#endif
18111d341caSmrg
18211d341caSmrg#ifndef MComplexUidTarget_6
18311d341caSmrg#define MComplexUidTarget_6(program)                                    @@\
18411d341caSmrg	                                                                @@\
18511d341caSmrgAllTarget(program.uid)                                                  @@\
18611d341caSmrg	                                                                @@\
18711d341caSmrgprogram.uid:  $(UILS6) $(DEPUIL)                                        @@\
18811d341caSmrg	RemoveTargetProgram($@)                                         @@\
18911d341caSmrg	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_6) -o $@ program.uil $(UIL_INCLUDES)	@@\
19011d341caSmrg	                                                                @@\
19111d341caSmrgInstallNonExecFile(program.uid,$(UIDDIR))                               @@\
19211d341caSmrg                                                                        @@\
19311d341caSmrgclean::                                                                 @@\
19411d341caSmrg	$(RM) program.uid
19511d341caSmrg#endif
19611d341caSmrg
19711d341caSmrg#ifndef MComplexUidTarget_7
19811d341caSmrg#define MComplexUidTarget_7(program)                                    @@\
19911d341caSmrg	                                                                @@\
20011d341caSmrgAllTarget(program.uid)                                                  @@\
20111d341caSmrg	                                                                @@\
20211d341caSmrgprogram.uid:  $(UILS7) $(DEPUIL)                                        @@\
20311d341caSmrg	RemoveTargetProgram($@)                                         @@\
20411d341caSmrg	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_7) -o $@ program.uil $(UIL_INCLUDES)	@@\
20511d341caSmrg	                                                                @@\
20611d341caSmrgInstallNonExecFile(program.uid,$(UIDDIR))                               @@\
20711d341caSmrg                                                                        @@\
20811d341caSmrgclean::                                                                 @@\
20911d341caSmrg	$(RM) program.uid
21011d341caSmrg#endif
21111d341caSmrg
21211d341caSmrg#ifndef MComplexUidTarget_8
21311d341caSmrg#define MComplexUidTarget_8(program)                                    @@\
21411d341caSmrg	                                                                @@\
21511d341caSmrgAllTarget(program.uid)                                                  @@\
21611d341caSmrg	                                                                @@\
21711d341caSmrgprogram.uid:  $(UILS8) $(DEPUIL)                                        @@\
21811d341caSmrg	RemoveTargetProgram($@)                                         @@\
21911d341caSmrg	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_8) -o $@ program.uil $(UIL_INCLUDES)	@@\
22011d341caSmrg	                                                                @@\
22111d341caSmrgInstallNonExecFile(program.uid,$(UIDDIR))                               @@\
22211d341caSmrg                                                                        @@\
22311d341caSmrgclean::                                                                 @@\
22411d341caSmrg	$(RM) program.uid
22511d341caSmrg#endif
22611d341caSmrg
22711d341caSmrg#ifndef MComplexUidTarget_9
22811d341caSmrg#define MComplexUidTarget_9(program)                                    @@\
22911d341caSmrg	                                                                @@\
23011d341caSmrgAllTarget(program.uid)                                                  @@\
23111d341caSmrg	                                                                @@\
23211d341caSmrgprogram.uid:  $(UILS9) $(DEPUIL)                                        @@\
23311d341caSmrg	RemoveTargetProgram($@)                                         @@\
23411d341caSmrg	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_9) -o $@ program.uil $(UIL_INCLUDES)	@@\
23511d341caSmrg	                                                                @@\
23611d341caSmrgInstallNonExecFile(program.uid,$(UIDDIR))                               @@\
23711d341caSmrg                                                                        @@\
23811d341caSmrgclean::                                                                 @@\
23911d341caSmrg	$(RM) program.uid
24011d341caSmrg#endif
24111d341caSmrg
24211d341caSmrg#ifndef MComplexUidTarget_10
24311d341caSmrg#define MComplexUidTarget_10(program)                                   @@\
24411d341caSmrg	                                                                @@\
24511d341caSmrgAllTarget(program.uid)                                                  @@\
24611d341caSmrg	                                                                @@\
24711d341caSmrgprogram.uid:  $(UILS10) $(DEPUIL)                                       @@\
24811d341caSmrg	RemoveTargetProgram($@)                                         @@\
24911d341caSmrg	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_10) -o $@ program.uil $(UIL_INCLUDES)	@@\
25011d341caSmrg	                                                                @@\
25111d341caSmrgInstallNonExecFile(program.uid,$(UIDDIR))                               @@\
25211d341caSmrg                                                                        @@\
25311d341caSmrgclean::                                                                 @@\
25411d341caSmrg	$(RM) program.uid
25511d341caSmrg#endif
25611d341caSmrg
25711d341caSmrg#ifndef MComplexProgramTarget
25811d341caSmrg#define	MComplexProgramTarget(program,locallib,syslib)			@@\
25911d341caSmrg        PROGRAM = program						@@\
26011d341caSmrg									@@\
26111d341caSmrgAllTarget(program)							@@\
26211d341caSmrg									@@\
26311d341caSmrgprogram: $(OBJS) $(DEPLIBS)						@@\
26411d341caSmrg	RemoveTargetProgram($@)						@@\
26511d341caSmrg	$(CC) -o $@ $(LDOPTIONS) $(OBJS) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
26611d341caSmrg									@@\
26711d341caSmrgCenterProgramTarget(program,$(SRCS),$(OBJS),locallib,syslib)		@@\
26811d341caSmrg									@@\
26911d341caSmrgInstallProgram(program,$(BINDIR))					@@\
27011d341caSmrg									@@\
27111d341caSmrginstall.man::								@@\
27211d341caSmrg	@echo To install documentation for $(PROGRAM), consult the Release Notes	@@\
27311d341caSmrg	@echo and/or README file in the current directory.		@@\
27411d341caSmrgDependTarget()								@@\
27511d341caSmrgLintTarget()								@@\
27611d341caSmrg									@@\
27711d341caSmrgclean::									@@\
27811d341caSmrg	$(RM) $(PROGRAM)
27911d341caSmrg#endif
28011d341caSmrg
28111d341caSmrg#ifndef MComplexProgramTarget_1
28211d341caSmrg#define	MComplexProgramTarget_1(program,locallib,syslib)		@@\
28311d341caSmrg            OBJS = $(OBJS1) $(OBJS2) $(OBJS3)				@@\
28411d341caSmrg            SRCS = $(SRCS1) $(SRCS2) $(SRCS3)				@@\
28511d341caSmrg									@@\
28611d341caSmrgAllTarget($(PROGRAMS))							@@\
28711d341caSmrg									@@\
28811d341caSmrgprogram: $(OBJS1) $(DEPLIBS1)						@@\
28911d341caSmrg	RemoveTargetProgram($@)						@@\
29011d341caSmrg	$(CC) -o $@ $(LDOPTIONS) $(OBJS1) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
29111d341caSmrg									@@\
29211d341caSmrgCenterProgramTarget(program,$(SRCS1),$(OBJS1),locallib,syslib)		@@\
29311d341caSmrg									@@\
29411d341caSmrgInstallProgram(program,$(BINDIR))					@@\
29511d341caSmrg									@@\
29611d341caSmrginstall.man::								@@\
29711d341caSmrg	@echo To install documentation for $(PROGRAMS), consult the Release Notes	@@\
29811d341caSmrg	@echo and/or README file in the current directory.		@@\
29911d341caSmrgDependTarget()								@@\
30011d341caSmrgLintTarget()								@@\
30111d341caSmrg									@@\
30211d341caSmrgclean::									@@\
30311d341caSmrg	$(RM) $(PROGRAMS)
30411d341caSmrg#endif
30511d341caSmrg
30611d341caSmrg#ifndef MComplexProgramTarget_2
30711d341caSmrg#define	MComplexProgramTarget_2(program,locallib,syslib)		@@\
30811d341caSmrgprogram: $(OBJS2) $(DEPLIBS2)						@@\
30911d341caSmrg	RemoveTargetProgram($@)						@@\
31011d341caSmrg	$(CC) -o $@ $(LDOPTIONS) $(OBJS2) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
31111d341caSmrg									@@\
31211d341caSmrgCenterProgramTarget(program,$(SRCS2),$(OBJS2),locallib,syslib)		@@\
31311d341caSmrg									@@\
31411d341caSmrgInstallProgram(program,$(BINDIR))
31511d341caSmrg#endif
31611d341caSmrg
31711d341caSmrg#ifndef MComplexProgramTarget_3
31811d341caSmrg#define	MComplexProgramTarget_3(program,locallib,syslib)		@@\
31911d341caSmrg        PROGRAM_3 = program					@@\
32011d341caSmrgprogram: $(OBJS3) $(DEPLIBS3)						@@\
32111d341caSmrg	RemoveTargetProgram($@)						@@\
32211d341caSmrg	$(CC) -o $@ $(LDOPTIONS) $(OBJS3) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
32311d341caSmrg									@@\
32411d341caSmrgCenterProgramTarget(program,$(SRCS3),$(OBJS3),locallib,syslib)		@@\
32511d341caSmrg									@@\
32611d341caSmrgInstallProgram(program,$(BINDIR))
32711d341caSmrg#endif
32811d341caSmrg
32911d341caSmrg#ifndef MComplexProgramTarget_4
33011d341caSmrg#define	MComplexProgramTarget_4(program,locallib,syslib)		@@\
33111d341caSmrg        PROGRAM_4 = program					@@\
33211d341caSmrgprogram: $(OBJS4) $(DEPLIBS4)						@@\
33311d341caSmrg	RemoveTargetProgram($@)						@@\
33411d341caSmrg	$(CC) -o $@ $(LDOPTIONS) $(OBJS4) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
33511d341caSmrg									@@\
33611d341caSmrgCenterProgramTarget(program,$(SRCS4),$(OBJS4),locallib,syslib)		@@\
33711d341caSmrg									@@\
33811d341caSmrgInstallProgram(program,$(BINDIR))
33911d341caSmrg#endif
34011d341caSmrg
34111d341caSmrg#ifndef MComplexProgramTarget_5
34211d341caSmrg#define	MComplexProgramTarget_5(program,locallib,syslib)		@@\
34311d341caSmrg        PROGRAM_5 = program					@@\
34411d341caSmrgprogram: $(OBJS5) $(DEPLIBS5)						@@\
34511d341caSmrg	RemoveTargetProgram($@)						@@\
34611d341caSmrg	$(CC) -o $@ $(LDOPTIONS) $(OBJS5) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
34711d341caSmrg									@@\
34811d341caSmrgCenterProgramTarget(program,$(SRCS5),$(OBJS5),locallib,syslib)		@@\
34911d341caSmrg									@@\
35011d341caSmrgInstallProgram(program,$(BINDIR))
35111d341caSmrg#endif
35211d341caSmrg
35311d341caSmrg#ifndef MComplexProgramTarget_6
35411d341caSmrg#define	MComplexProgramTarget_6(program,locallib,syslib)		@@\
35511d341caSmrg        PROGRAM_6 = program					@@\
35611d341caSmrgprogram: $(OBJS6) $(DEPLIBS6)						@@\
35711d341caSmrg	RemoveTargetProgram($@)						@@\
35811d341caSmrg	$(CC) -o $@ $(LDOPTIONS) $(OBJS6) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
35911d341caSmrg									@@\
36011d341caSmrgCenterProgramTarget(program,$(SRCS6),$(OBJS6),locallib,syslib)		@@\
36111d341caSmrg									@@\
36211d341caSmrgInstallProgram(program,$(BINDIR))
36311d341caSmrg#endif
36411d341caSmrg
36511d341caSmrg#ifndef MComplexProgramTarget_7
36611d341caSmrg#define	MComplexProgramTarget_7(program,locallib,syslib)		@@\
36711d341caSmrg        PROGRAM_7 = program					@@\
36811d341caSmrgprogram: $(OBJS7) $(DEPLIBS7)						@@\
36911d341caSmrg	RemoveTargetProgram($@)						@@\
37011d341caSmrg	$(CC) -o $@ $(LDOPTIONS) $(OBJS7) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
37111d341caSmrg									@@\
37211d341caSmrgCenterProgramTarget(program,$(SRCS7),$(OBJS7),locallib,syslib)		@@\
37311d341caSmrg									@@\
37411d341caSmrgInstallProgram(program,$(BINDIR))
37511d341caSmrg#endif
37611d341caSmrg
37711d341caSmrg#ifndef MComplexProgramTarget_8
37811d341caSmrg#define	MComplexProgramTarget_8(program,locallib,syslib)		@@\
37911d341caSmrg        PROGRAM_8 = program					@@\
38011d341caSmrgprogram: $(OBJS8) $(DEPLIBS8)						@@\
38111d341caSmrg	RemoveTargetProgram($@)						@@\
38211d341caSmrg	$(CC) -o $@ $(LDOPTIONS) $(OBJS8) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
38311d341caSmrg									@@\
38411d341caSmrgCenterProgramTarget(program,$(SRCS8),$(OBJS8),locallib,syslib)		@@\
38511d341caSmrg									@@\
38611d341caSmrgInstallProgram(program,$(BINDIR))
38711d341caSmrg#endif
38811d341caSmrg
38911d341caSmrg#ifndef MComplexProgramTarget_9
39011d341caSmrg#define	MComplexProgramTarget_9(program,locallib,syslib)		@@\
39111d341caSmrg        PROGRAM_9 = program					@@\
39211d341caSmrgprogram: $(OBJS9) $(DEPLIBS9)						@@\
39311d341caSmrg	RemoveTargetProgram($@)						@@\
39411d341caSmrg	$(CC) -o $@ $(LDOPTIONS) $(OBJS9) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
39511d341caSmrg									@@\
39611d341caSmrgCenterProgramTarget(program,$(SRCS9),$(OBJS9),locallib,syslib)		@@\
39711d341caSmrg									@@\
39811d341caSmrgInstallProgram(program,$(BINDIR))
39911d341caSmrg#endif
40011d341caSmrg
40111d341caSmrg#ifdef AUTOMATION
40211d341caSmrg#ifndef TestPPTarget
40311d341caSmrg#define TestPPTarget(root)						@@\
40411d341caSmrgall:: root.Scr root.Dat							@@\
40511d341caSmrg									@@\
40611d341caSmrgroot.Dat: root.dat							@@\
40711d341caSmrg	$(RM) root.Dat							@@\
40811d341caSmrg	$(COMMONPP) $(DEFINES) root.dat					@@\
40911d341caSmrgroot.Scr: root.scr							@@\
41011d341caSmrg	$(RM) root.Scr							@@\
41111d341caSmrg	$(COMMONPP) $(DEFINES) root.scr
4121c80d5b0Smrg#endif
41311d341caSmrg#else
41411d341caSmrg#ifndef TestPPTarget
41511d341caSmrg#define TestPPTarget(root)                                              @@\
41611d341caSmrgall:: root.Dat                                                          @@\
41711d341caSmrg                                                                        @@\
41811d341caSmrgroot.Dat: root.dat                                                      @@\
41911d341caSmrg	$(RM) root.Dat                                                  @@\
42011d341caSmrg	$(COMMONPP) $(DEFINES) root.dat
42111d341caSmrg#endif
42211d341caSmrg#endif
42311d341caSmrg
42411d341caSmrg#ifdef AUTOMATION
42511d341caSmrg#ifndef TestPPTargetScr
42611d341caSmrg#define TestPPTargetScr(root)                                           @@\
42711d341caSmrgall:: root.Scr                                                          @@\
42811d341caSmrg                                                                        @@\
42911d341caSmrgroot.Scr: root.scr							@@\
43011d341caSmrg	$(RM) root.Scr							@@\
43111d341caSmrg	$(COMMONPP) $(DEFINES) root.scr
43211d341caSmrg#endif
43311d341caSmrg#else
43411d341caSmrg#ifndef TestPPTargetScr
43511d341caSmrg#define TestPPTargetScr(root)  /**/
43611d341caSmrg#endif
43711d341caSmrg#endif
43811d341caSmrg
43911d341caSmrg#ifdef AUTOMATION
44011d341caSmrg#ifndef TestPPTargetDat
44111d341caSmrg#define TestPPTargetDat(root)                                              @@\
44211d341caSmrgall:: root.Dat                                                          @@\
44311d341caSmrg                                                                        @@\
44411d341caSmrgroot.Dat: root.dat                                                      @@\
44511d341caSmrg	$(RM) root.Dat                                                  @@\
44611d341caSmrg	$(COMMONPP) $(DEFINES) root.dat
44711d341caSmrg#endif
44811d341caSmrg#endif
44911d341caSmrg#ifndef AUTOMATION
45011d341caSmrg#ifndef TestPPTargetDat
45111d341caSmrg#define TestPPTargetDat(root)                                              @@\
45211d341caSmrgall:: root.Dat                                                          @@\
45311d341caSmrg                                                                        @@\
45411d341caSmrgroot.Dat: root.dat                                                      @@\
45511d341caSmrg	$(RM) root.Dat                                                  @@\
45611d341caSmrg	$(COMMONPP) $(DEFINES) root.dat
45711d341caSmrg#endif
45811d341caSmrg#endif
45911d341caSmrg
46011d341caSmrg
46111d341caSmrg#ifndef NO_AUTOMATION
46211d341caSmrg#ifndef RunTarget
46311d341caSmrg#define RunTarget()							@@\
46411d341caSmrgall::	RUN								@@\
46511d341caSmrg									@@\
46611d341caSmrgRUN:	always								@@\
46711d341caSmrg	$(GENRUN) $(CURRENT_DIR) $(MTOP) $(DEFINES)			@@\
46811d341caSmrg									@@\
46911d341caSmrgalways: 								@@\
47011d341caSmrg	$(RM) RUN
47111d341caSmrg#endif
47211d341caSmrg#else
47311d341caSmrg#ifdef UseVista
47411d341caSmrg#ifndef RunTarget
47511d341caSmrg#define RunTarget()							@@\
47611d341caSmrgall::	RUN								@@\
47711d341caSmrg									@@\
47811d341caSmrgRUN:	always								@@\
47911d341caSmrg	$(MANRUN) $(CURRENT_DIR) $(MTOP) $(DEFINES)			@@\
48011d341caSmrg									@@\
48111d341caSmrgalways: 								@@\
48211d341caSmrg	$(RM) RUN
48311d341caSmrg#endif
48411d341caSmrg#else
48511d341caSmrg#ifdef UsePurify
48611d341caSmrg#ifndef RunTarget
48711d341caSmrg#define RunTarget()							@@\
48811d341caSmrgall::	RUN								@@\
48911d341caSmrg									@@\
49011d341caSmrgRUN:	always								@@\
49111d341caSmrg	$(MANRUN) $(CURRENT_DIR) $(MTOP) $(DEFINES)			@@\
49211d341caSmrg									@@\
49311d341caSmrgalways: 								@@\
49411d341caSmrg	$(RM) RUN
49511d341caSmrg#endif
49611d341caSmrg#else
49711d341caSmrg#ifndef RunTarget
49811d341caSmrg#define RunTarget()							@@\
49911d341caSmrgall::	RUN								@@\
50011d341caSmrg									@@\
50111d341caSmrgRUN:	always								@@\
50211d341caSmrg									@@\
50311d341caSmrgalways: 								@@\
50411d341caSmrg
50511d341caSmrg#endif
50611d341caSmrg#endif
50711d341caSmrg#endif
50811d341caSmrg#endif
50911d341caSmrg#ifdef UseVista
51011d341caSmrg#ifndef VistaMapRule
51111d341caSmrg#define VistaMapRule(targetmap,depend)					@@\
51211d341caSmrgall:: targetmap								@@\
51311d341caSmrg									@@\
51411d341caSmrgtargetmap: depend 							@@\
51511d341caSmrg	$(RM) $(MTOP)/tests/Vista/targetmap				@@\
51611d341caSmrg	CATCMD *.M > $(MTOP)/tests/Vista/targetmap
51711d341caSmrg#endif
51811d341caSmrg#ifndef ComplexVistaMapRule
51911d341caSmrg#define ComplexVistaMapRule(program,filelist)				@@\
52011d341caSmrgall::	program.M							@@\
52111d341caSmrg									@@\
52211d341caSmrgprogram.M: filelist							@@\
52311d341caSmrg	$(RM) program.vista.tmpfile					@@\
52411d341caSmrg	touch program.vista.tmpfile					@@\
52511d341caSmrg	@case '${MFLAGS}' in *[ik]*) set +e;; esac;			@@\
52611d341caSmrg	@for i in filelist; do \					@@\
52711d341caSmrg		cat `basename $$i .o`.M >> program.vista.tmpfile ; done	@@\
52811d341caSmrg	$(RM) program.M							@@\
52911d341caSmrg	$(MV) program.vista.tmpfile program.M				@@\
53011d341caSmrg									@@\
53111d341caSmrgclean::									@@\
53211d341caSmrg	$(RM) *.M
53311d341caSmrg#endif
53411d341caSmrg
53511d341caSmrg#endif
53611d341caSmrg
53711d341caSmrg/*  Rule for making shadow trees.	*/
53811d341caSmrg#ifndef MakeShadowTree
53911d341caSmrg#define MakeShadowTree(name,dirs)			@@\
54011d341caSmrgall::							@@\
54111d341caSmrg	@case '${MFLAGS}' in *[ik]*) set +e;; esac;	@@\
54211d341caSmrg	MakeDir(name)					@@\
54311d341caSmrg	@for i in dirs; \				@@\
54411d341caSmrg        do if [ -d $$i/name ]; then \			@@\
54511d341caSmrg        exit 0; else set -x; mkdir $$i/name; fi \	@@\
54611d341caSmrg	done						@@\
54711d341caSmrg	@for i in dirs; \				@@\
54811d341caSmrg	do if [ -r name/$$i ]; then \			@@\
54911d341caSmrg		set +x; \				@@\
55011d341caSmrg		else (set -x; $(LN) ../$$i/name  name/$$i); fi \@@\
55111d341caSmrg	done
55211d341caSmrg#endif
55311d341caSmrg
55411d341caSmrg#ifdef BuildPlusPlus
55511d341caSmrg
55611d341caSmrg/* Rules for C++ */
55711d341caSmrg
55811d341caSmrg/*
55911d341caSmrg * "CPlusPlusObjectCompile" - compile fragment for a normal C++ object file
56011d341caSmrg*/
56111d341caSmrg#ifndef CPlusPlusObjectCompile
56211d341caSmrg#define CPlusPlusObjectCompile(options) $(RM) $@                       @@\
56311d341caSmrg	$(CPLUSPLUSCOM) -c $(CPLUSPLUSFLAGS) options $*.cxx
56411d341caSmrg#endif
56511d341caSmrg
56611d341caSmrg#ifndef CPlusPlusObjectRule
56711d341caSmrg#define CPlusPlusObjectRule()						@@\
56811d341caSmrg.cxx.o:									@@\
56911d341caSmrg	CPlusPlusObjectCompile($(_NOOP_))
57011d341caSmrg#endif /* CPlusPlusObjectRule */
57111d341caSmrg
57211d341caSmrg#ifndef MCPlusPlusSimpleProgramTarget
57311d341caSmrg#define MCPlusPlusSimpleProgramTarget(program)                          @@\
57411d341caSmrgAllTarget(program)                                                      @@\
57511d341caSmrg	                                                                @@\
57611d341caSmrgprogram: program.o $(DEPS) $(DEPLIBS)					@@\
57711d341caSmrg	RemoveTargetProgram($@)                                         @@\
57811d341caSmrg	$(CPLUSPLUSLINKCOM) -o $@ program.o $(LDOPTIONS) $(DEPS) $(LOCAL_LIBRARIES) $(CPLUSPLUSLIBS) $(LDLIBS) $(EXTRA_LOAD_FLAGS)  @@\
57911d341caSmrg	                                                                @@\
58011d341caSmrgclean::                                                                 @@\
58111d341caSmrg	$(RM) program
58211d341caSmrg#endif
58311d341caSmrg
58411d341caSmrg#ifndef MCPlusPlusComplexProgramTarget
58511d341caSmrg#define	MCPlusPlusComplexProgramTarget(program,locallib,syslib)		@@\
58611d341caSmrg        PROGRAM = program						@@\
58711d341caSmrg									@@\
58811d341caSmrgAllTarget(program)							@@\
58911d341caSmrg									@@\
59011d341caSmrgprogram: $(OBJS) $(DEPLIBS)						@@\
59111d341caSmrg	RemoveTargetProgram($@)						@@\
59211d341caSmrg	$(CPLUSPLUSLINKCOM) -o $@ $(LDOPTIONS) $(OBJS) locallib $(CPLUSPLUSLIBS) $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
59311d341caSmrg									@@\
59411d341caSmrgCenterProgramTarget(program,$(SRCS),$(OBJS),locallib,syslib)		@@\
59511d341caSmrg									@@\
59611d341caSmrgInstallProgram(program,$(BINDIR))					@@\
59711d341caSmrg									@@\
59811d341caSmrginstall.man::								@@\
59911d341caSmrg	@echo To install documentation for $(PROGRAM), consult the Release Notes	@@\
60011d341caSmrg	@echo and/or README file in the current directory.		@@\
60111d341caSmrgDependTarget()								@@\
60211d341caSmrgLintTarget()								@@\
60311d341caSmrg									@@\
60411d341caSmrgclean::									@@\
60511d341caSmrg	$(RM) $(PROGRAM)
60611d341caSmrg#endif
60711d341caSmrg
60811d341caSmrg#endif /* BuildPlusPlus */
60911d341caSmrg
61011d341caSmrg/* Rules for message catalog building */
61111d341caSmrg#ifndef Real_MessageCatalogRule
61211d341caSmrg#define Real_MessageCatalogRule(prefix)					@@\
61311d341caSmrgprefix.cat Concat(prefix,MsgCatI.h):					@@\
61411d341caSmrg	$(RM) Concat(prefix,MsgCatI.h) prefix.cat $(MLOCSRC)/C/msg/prefix.msg	@@\
61511d341caSmrg	$(MKCATTOOL) Concat(prefix,MsgCatI.h) prefix.msg > $(MLOCSRC)/C/msg/prefix.msg	@@\
61611d341caSmrg	$(GENCAT) prefix.cat $(MLOCSRC)/C/msg/prefix.msg		@@\
61711d341caSmrg									@@\
61811d341caSmrgincludes:: prefix.cat Concat(prefix,MsgCatI.h)				@@\
61911d341caSmrg									@@\
62011d341caSmrgdepend:: prefix.cat Concat(prefix,MsgCatI.h)				@@\
62111d341caSmrg									@@\
62211d341caSmrgall:: prefix.cat							@@\
62311d341caSmrg									@@\
62411d341caSmrgclean::									@@\
62511d341caSmrg	$(RM) prefix.cat Concat(prefix,MsgCatI.h)
62611d341caSmrg#endif
62711d341caSmrg#define Stub_MessageCatalogRule(prefix)	/**/
62811d341caSmrg
62911d341caSmrg
63011d341caSmrg/* The X BuildLibDir is now an import, not an export. */
63111d341caSmrg#if UseImports || ImportX11
63211d341caSmrg# ifndef XBuildLibDir
63311d341caSmrg#  define XBuildLibDir $(TOP)/imports/x11/lib
63411d341caSmrg# endif
63511d341caSmrg#endif
63611d341caSmrg
63711d341caSmrg
63811d341caSmrg/* Search the Motif ProjectRoot too if it is different. */
63911d341caSmrg#ifdef MotifProjectRoot
64011d341caSmrg# define MUsrLibDirPath	Concat(XUsrLibDirPath,:$(MPROJECTROOT)/lib)
64111d341caSmrg#else
64211d341caSmrg# define MUsrLibDirPath	XUsrLibDirPath
64311d341caSmrg#endif
64411d341caSmrg#ifdef UsrLibDirPath
64511d341caSmrg# undef UsrLibDirPath
64611d341caSmrg#endif
64711d341caSmrg#define UsrLibDirPath	MUsrLibDirPath
64811d341caSmrg
64911d341caSmrg#if ImportMotif
65011d341caSmrg# define MLdPreLibs	-L$(MLIBSRC)
65111d341caSmrg#elif defined(UseInstalledMotif) && defined(MotifProjectRoot)
65211d341caSmrg# define MLdPreLibs	-L$(MPROJECTROOT)/lib
65311d341caSmrg#else
65411d341caSmrg# define MLdPreLibs	/**/
65511d341caSmrg#endif
65611d341caSmrg#ifdef LdPreLibs
65711d341caSmrg# undef LdPreLibs
65811d341caSmrg#endif
65911d341caSmrg#define LdPreLibs	LdPreLib MLdPreLibs XLdPreLibs
66011d341caSmrg
66111d341caSmrg#ifdef LdPostLibs
66211d341caSmrg# undef LdPostLibs
66311d341caSmrg#endif
66411d341caSmrg#ifdef MotifProjectRoot
66511d341caSmrg# define MLdPostLibs	-L$(MPROJECTROOT)/lib
66611d341caSmrg#else
66711d341caSmrg# define MLdPostLibs	/**/
66811d341caSmrg#endif
66911d341caSmrg#define LdPostLibs	LdPostLib MLdPostLibs XLdPostLibs
67011d341caSmrg
67111d341caSmrg#ifdef TopIncludes
67211d341caSmrg# undef TopIncludes
67311d341caSmrg#endif
67411d341caSmrg#define TopIncludes	TopInclude $(TOP_MOTIF_INCLUDES) $(TOP_X_INCLUDES)
67511d341caSmrg
67611d341caSmrg#if UseInstalledMotif && defined(MotifProjectRoot)
67711d341caSmrg# define MotifBuildLibPath	$(MPROJECTROOT)/lib
67811d341caSmrg#elif UseInstalledMotif
67911d341caSmrg# define MotifBuildLibPath	$(USRLIBDIR)
68011d341caSmrg#elif ImportMotif
68111d341caSmrg# define MotifBuildLibPath	$(MLIBSRC)
68211d341caSmrg#else
68311d341caSmrg# define MotifBuildLibPath	$(TOP)/exports/lib
68411d341caSmrg#endif
68511d341caSmrg#ifdef BuildLibPath
68611d341caSmrg# undef BuildLibPath
68711d341caSmrg#endif
68811d341caSmrg#ifdef SystemBuildLibPath
68911d341caSmrg# define BuildLibPath	$(MOTIFENVLIBDIR):$(XENVLIBDIR):$(SYSTEMENVLIBDIR)
69011d341caSmrg#else
69111d341caSmrg# define BuildLibPath	$(MOTIFENVLIBDIR):$(XENVLIBDIR)
69211d341caSmrg#endif
69311d341caSmrg
69411d341caSmrg#ifndef MotifProjectDefines
69511d341caSmrg# define MotifProjectDefines	MotifDefines MessageCatalogDefines
69611d341caSmrg#endif
69711d341caSmrg#ifdef ProjectDefines
69811d341caSmrg# undef ProjectDefines
69911d341caSmrg#endif
70011d341caSmrg#define ProjectDefines	X11ProjectDefines MotifProjectDefines
70111d341caSmrg
70211d341caSmrg#ifndef MotifCplusplusProjectDefines
70311d341caSmrg# define MotifCplusplusProjectDefines	MotifProjectDefines
70411d341caSmrg#endif
70511d341caSmrg#ifdef CplusplusProjectDefines
70611d341caSmrg# undef CplusplusProjectDefines
70711d341caSmrg#endif
70811d341caSmrg#define CplusplusProjectDefines	\
70911d341caSmrg	X11CplusplusProjectDefines MotifCplusplusProjectDefines
710