/* 
 *  @OSF_COPYRIGHT@
 *  COPYRIGHT NOTICE
 *  Copyright (c) 1990, 1991, 1992, 1993, 1998 The Open Group, Inc.
 *  ALL RIGHTS RESERVED (MOTIF). See the file named COPYRIGHT.MOTIF for
 *  the full copyright text.
 *
 * (c) Copyright 1996 Digital Equipment Corporation.
 * (c) Copyright 1996 Hewlett-Packard Company.
 * (c) Copyright 1996 International Business Machines Corp.
 * (c) Copyright 1996 Sun Microsystems, Inc.
 * (c) Copyright 1996 Novell, Inc. 
 * (c) Copyright 1996 FUJITSU LIMITED.
 * (c) Copyright 1996 Hitachi.
 */ 
XCOMM $TOG: Motif.rules /main/4 1998/02/06 10:53:37 kaleb $

XCOMM $Id: LessTif.rules,v 1.2 2000/08/29 21:59:19 dannybackx Exp $
/* 
 * Imake rules for LessTif
 *
 * by Carlos A. M. dos Santos, casantos@cpmet.ufpel.tche.br
 *
 * THIS IS A MODIFIED VERSION OF THE Motif.rules FILE INCLUDED IN THE STANDARD
 * X11R6.4 DISTRIBUTION. ALL MATERIAL IN X11 IS FEELY REDISTRIBUTABLE, EITHER
 * IN ORIGINAL OR MODIFIED FORM BUT, NO MATTER WHICH ADDITIONAL CHANGES YOU
 * MAKE TO THIS FILE, DO NOT REMOVE THE ABOVE COPYRIGHT NOTICE.
 */

/* Note whether we are the top level project. */
#ifndef SeenTopLevelProject
# define SeenTopLevelProject	YES
# define MotifIsTopLevelProject	YES
#else
# define MotifIsTopLevelProject	NO
#endif

/* Include the X11 project rules file. */
#include <X11.rules>


/* Use the in-tree Motif by default. */
#ifndef UseInstalledMotif
# define UseInstalledMotif	NO
#endif
#ifdef UseInstalled
# undef UseInstalledMotif
# define UseInstalledMotif	YES
#endif

#ifndef ImportMotif
# ifdef UseImports
#  define ImportMotif		YES
# else
#  define ImportMotif		NO
# endif
#endif
#if UseInstalledMotif
# undef ImportMotif
# define ImportMotif		NO
#endif

#ifndef MSimpleProgramTarget
#define MSimpleProgramTarget(program)                                   @@\
AllTarget(program)                                                      @@\
	                                                                @@\
program: program.o $(DEPS) $(DEPLIBS)					@@\
	RemoveTargetProgram($@)                                         @@\
	$(CC) -o $@ program.o $(LDOPTIONS) $(DEPS) $(LOCAL_LIBRARIES) $(LDLIBS) $(EXTRA_LOAD_FLAGS)  @@\
	                                                                @@\
clean::                                                                 @@\
	$(RM) program
#endif

#ifndef MSimpleUilTarget
#define MSimpleUilTarget(program)                                       @@\
MSimpleProgramTarget(program)						@@\
									@@\
InstallProgram(program,$(BINDIR))					@@\
									@@\
MSimpleUidTarget(program)
#endif

/*
 * UILFLAGS contains site/vendor-specific flags
 * defined by UilFlags, which supposed to be set in *.cf or
 * site.def files.
 * LOCAL_UILFLAGS(_n) contains client-specific uil flags set in Imakefile
 */

#ifndef MSimpleUidTarget
#define MSimpleUidTarget(program)                                       @@\
AllTarget(program.uid)                                                  @@\
	                                                                @@\
program.uid: program.uil $(DEPUIL)                                      @@\
	RemoveTargetProgram($@)                                         @@\
	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS) -o $@ program.uil $(UIL_INCLUDES)	@@\
	                                                                @@\
InstallNonExecFile(program.uid,$(UIDDIR))                               @@\
                                                                        @@\
clean::                                                                 @@\
	$(RM) program.uid
#endif

#ifndef MSimpleUidLocaleTarget
#define MSimpleUidLocaleTarget(program,locale)                          @@\
AllTarget(program.uid)                                                  @@\
	                                                                @@\
program.uid: program.uil $(DEPUIL)                                      @@\
	RemoveTargetProgram($@)                                         @@\
	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS) -o $@ program.uil $(UIL_INCLUDES)	@@\
	                                                                @@\
InstallNonExecFile(program.uid,$(LIBDIR)/locale/uid)                    @@\
                                                                        @@\
clean::                                                                 @@\
	$(RM) program.uid
#endif

#ifndef MComplexUidTarget_1
#define MComplexUidTarget_1(program)                                    @@\
	                                                                @@\
AllTarget(program.uid)                                                  @@\
	                                                                @@\
program.uid:  $(UILS1) $(DEPUIL)                                        @@\
	RemoveTargetProgram($@)                                         @@\
	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_1) -o $@ program.uil $(UIL_INCLUDES)	@@\
	                                                                @@\
InstallNonExecFile(program.uid,$(UIDDIR))                               @@\
                                                                        @@\
clean::                                                                 @@\
	$(RM) program.uid
#endif

#ifndef MComplexUidTarget_2
#define MComplexUidTarget_2(program)                                    @@\
	                                                                @@\
AllTarget(program.uid)                                                  @@\
	                                                                @@\
program.uid:  $(UILS2) $(DEPUIL)                                        @@\
	RemoveTargetProgram($@)                                         @@\
	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_2) -o $@ program.uil $(UIL_INCLUDES)	@@\
	                                                                @@\
InstallNonExecFile(program.uid,$(UIDDIR))                               @@\
                                                                        @@\
clean::                                                                 @@\
	$(RM) program.uid
#endif

#ifndef MComplexUidTarget_3
#define MComplexUidTarget_3(program)                                    @@\
	                                                                @@\
AllTarget(program.uid)                                                  @@\
	                                                                @@\
program.uid:  $(UILS3) $(DEPUIL)                                        @@\
	RemoveTargetProgram($@)                                         @@\
	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_3) -o $@ program.uil $(UIL_INCLUDES)	@@\
	                                                                @@\
InstallNonExecFile(program.uid,$(UIDDIR))                               @@\
                                                                        @@\
clean::                                                                 @@\
	$(RM) program.uid
#endif

#ifndef MComplexUidTarget_4
#define MComplexUidTarget_4(program)                                    @@\
	                                                                @@\
AllTarget(program.uid)                                                  @@\
	                                                                @@\
program.uid:  $(UILS4) $(DEPUIL)                                        @@\
	RemoveTargetProgram($@)                                         @@\
	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_4) -o $@ program.uil $(UIL_INCLUDES)	@@\
	                                                                @@\
InstallNonExecFile(program.uid,$(UIDDIR))                               @@\
                                                                        @@\
clean::                                                                 @@\
	$(RM) program.uid
#endif

#ifndef MComplexUidTarget_5
#define MComplexUidTarget_5(program)                                    @@\
	                                                                @@\
AllTarget(program.uid)                                                  @@\
	                                                                @@\
program.uid:  $(UILS5) $(DEPUIL)                                        @@\
	RemoveTargetProgram($@)                                         @@\
	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_5) -o $@ program.uil $(UIL_INCLUDES)	@@\
	                                                                @@\
InstallNonExecFile(program.uid,$(UIDDIR))                               @@\
                                                                        @@\
clean::                                                                 @@\
	$(RM) program.uid
#endif

#ifndef MComplexUidTarget_6
#define MComplexUidTarget_6(program)                                    @@\
	                                                                @@\
AllTarget(program.uid)                                                  @@\
	                                                                @@\
program.uid:  $(UILS6) $(DEPUIL)                                        @@\
	RemoveTargetProgram($@)                                         @@\
	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_6) -o $@ program.uil $(UIL_INCLUDES)	@@\
	                                                                @@\
InstallNonExecFile(program.uid,$(UIDDIR))                               @@\
                                                                        @@\
clean::                                                                 @@\
	$(RM) program.uid
#endif

#ifndef MComplexUidTarget_7
#define MComplexUidTarget_7(program)                                    @@\
	                                                                @@\
AllTarget(program.uid)                                                  @@\
	                                                                @@\
program.uid:  $(UILS7) $(DEPUIL)                                        @@\
	RemoveTargetProgram($@)                                         @@\
	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_7) -o $@ program.uil $(UIL_INCLUDES)	@@\
	                                                                @@\
InstallNonExecFile(program.uid,$(UIDDIR))                               @@\
                                                                        @@\
clean::                                                                 @@\
	$(RM) program.uid
#endif

#ifndef MComplexUidTarget_8
#define MComplexUidTarget_8(program)                                    @@\
	                                                                @@\
AllTarget(program.uid)                                                  @@\
	                                                                @@\
program.uid:  $(UILS8) $(DEPUIL)                                        @@\
	RemoveTargetProgram($@)                                         @@\
	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_8) -o $@ program.uil $(UIL_INCLUDES)	@@\
	                                                                @@\
InstallNonExecFile(program.uid,$(UIDDIR))                               @@\
                                                                        @@\
clean::                                                                 @@\
	$(RM) program.uid
#endif

#ifndef MComplexUidTarget_9
#define MComplexUidTarget_9(program)                                    @@\
	                                                                @@\
AllTarget(program.uid)                                                  @@\
	                                                                @@\
program.uid:  $(UILS9) $(DEPUIL)                                        @@\
	RemoveTargetProgram($@)                                         @@\
	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_9) -o $@ program.uil $(UIL_INCLUDES)	@@\
	                                                                @@\
InstallNonExecFile(program.uid,$(UIDDIR))                               @@\
                                                                        @@\
clean::                                                                 @@\
	$(RM) program.uid
#endif

#ifndef MComplexUidTarget_10
#define MComplexUidTarget_10(program)                                   @@\
	                                                                @@\
AllTarget(program.uid)                                                  @@\
	                                                                @@\
program.uid:  $(UILS10) $(DEPUIL)                                       @@\
	RemoveTargetProgram($@)                                         @@\
	$(CLIENTENVSETUP) $(UIL) $(UILFLAGS) $(LOCAL_UILFLAGS_10) -o $@ program.uil $(UIL_INCLUDES)	@@\
	                                                                @@\
InstallNonExecFile(program.uid,$(UIDDIR))                               @@\
                                                                        @@\
clean::                                                                 @@\
	$(RM) program.uid
#endif

#ifndef MComplexProgramTarget
#define	MComplexProgramTarget(program,locallib,syslib)			@@\
        PROGRAM = program						@@\
									@@\
AllTarget(program)							@@\
									@@\
program: $(OBJS) $(DEPLIBS)						@@\
	RemoveTargetProgram($@)						@@\
	$(CC) -o $@ $(LDOPTIONS) $(OBJS) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
									@@\
CenterProgramTarget(program,$(SRCS),$(OBJS),locallib,syslib)		@@\
									@@\
InstallProgram(program,$(BINDIR))					@@\
									@@\
install.man::								@@\
	@echo To install documentation for $(PROGRAM), consult the Release Notes	@@\
	@echo and/or README file in the current directory.		@@\
DependTarget()								@@\
LintTarget()								@@\
									@@\
clean::									@@\
	$(RM) $(PROGRAM)
#endif

#ifndef MComplexProgramTarget_1
#define	MComplexProgramTarget_1(program,locallib,syslib)		@@\
            OBJS = $(OBJS1) $(OBJS2) $(OBJS3)				@@\
            SRCS = $(SRCS1) $(SRCS2) $(SRCS3)				@@\
									@@\
AllTarget($(PROGRAMS))							@@\
									@@\
program: $(OBJS1) $(DEPLIBS1)						@@\
	RemoveTargetProgram($@)						@@\
	$(CC) -o $@ $(LDOPTIONS) $(OBJS1) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
									@@\
CenterProgramTarget(program,$(SRCS1),$(OBJS1),locallib,syslib)		@@\
									@@\
InstallProgram(program,$(BINDIR))					@@\
									@@\
install.man::								@@\
	@echo To install documentation for $(PROGRAMS), consult the Release Notes	@@\
	@echo and/or README file in the current directory.		@@\
DependTarget()								@@\
LintTarget()								@@\
									@@\
clean::									@@\
	$(RM) $(PROGRAMS)
#endif

#ifndef MComplexProgramTarget_2
#define	MComplexProgramTarget_2(program,locallib,syslib)		@@\
program: $(OBJS2) $(DEPLIBS2)						@@\
	RemoveTargetProgram($@)						@@\
	$(CC) -o $@ $(LDOPTIONS) $(OBJS2) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
									@@\
CenterProgramTarget(program,$(SRCS2),$(OBJS2),locallib,syslib)		@@\
									@@\
InstallProgram(program,$(BINDIR))
#endif

#ifndef MComplexProgramTarget_3
#define	MComplexProgramTarget_3(program,locallib,syslib)		@@\
        PROGRAM_3 = program					@@\
program: $(OBJS3) $(DEPLIBS3)						@@\
	RemoveTargetProgram($@)						@@\
	$(CC) -o $@ $(LDOPTIONS) $(OBJS3) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
									@@\
CenterProgramTarget(program,$(SRCS3),$(OBJS3),locallib,syslib)		@@\
									@@\
InstallProgram(program,$(BINDIR))
#endif

#ifndef MComplexProgramTarget_4
#define	MComplexProgramTarget_4(program,locallib,syslib)		@@\
        PROGRAM_4 = program					@@\
program: $(OBJS4) $(DEPLIBS4)						@@\
	RemoveTargetProgram($@)						@@\
	$(CC) -o $@ $(LDOPTIONS) $(OBJS4) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
									@@\
CenterProgramTarget(program,$(SRCS4),$(OBJS4),locallib,syslib)		@@\
									@@\
InstallProgram(program,$(BINDIR))
#endif

#ifndef MComplexProgramTarget_5
#define	MComplexProgramTarget_5(program,locallib,syslib)		@@\
        PROGRAM_5 = program					@@\
program: $(OBJS5) $(DEPLIBS5)						@@\
	RemoveTargetProgram($@)						@@\
	$(CC) -o $@ $(LDOPTIONS) $(OBJS5) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
									@@\
CenterProgramTarget(program,$(SRCS5),$(OBJS5),locallib,syslib)		@@\
									@@\
InstallProgram(program,$(BINDIR))
#endif

#ifndef MComplexProgramTarget_6
#define	MComplexProgramTarget_6(program,locallib,syslib)		@@\
        PROGRAM_6 = program					@@\
program: $(OBJS6) $(DEPLIBS6)						@@\
	RemoveTargetProgram($@)						@@\
	$(CC) -o $@ $(LDOPTIONS) $(OBJS6) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
									@@\
CenterProgramTarget(program,$(SRCS6),$(OBJS6),locallib,syslib)		@@\
									@@\
InstallProgram(program,$(BINDIR))
#endif

#ifndef MComplexProgramTarget_7
#define	MComplexProgramTarget_7(program,locallib,syslib)		@@\
        PROGRAM_7 = program					@@\
program: $(OBJS7) $(DEPLIBS7)						@@\
	RemoveTargetProgram($@)						@@\
	$(CC) -o $@ $(LDOPTIONS) $(OBJS7) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
									@@\
CenterProgramTarget(program,$(SRCS7),$(OBJS7),locallib,syslib)		@@\
									@@\
InstallProgram(program,$(BINDIR))
#endif

#ifndef MComplexProgramTarget_8
#define	MComplexProgramTarget_8(program,locallib,syslib)		@@\
        PROGRAM_8 = program					@@\
program: $(OBJS8) $(DEPLIBS8)						@@\
	RemoveTargetProgram($@)						@@\
	$(CC) -o $@ $(LDOPTIONS) $(OBJS8) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
									@@\
CenterProgramTarget(program,$(SRCS8),$(OBJS8),locallib,syslib)		@@\
									@@\
InstallProgram(program,$(BINDIR))
#endif

#ifndef MComplexProgramTarget_9
#define	MComplexProgramTarget_9(program,locallib,syslib)		@@\
        PROGRAM_9 = program					@@\
program: $(OBJS9) $(DEPLIBS9)						@@\
	RemoveTargetProgram($@)						@@\
	$(CC) -o $@ $(LDOPTIONS) $(OBJS9) locallib $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
									@@\
CenterProgramTarget(program,$(SRCS9),$(OBJS9),locallib,syslib)		@@\
									@@\
InstallProgram(program,$(BINDIR))
#endif

#ifdef AUTOMATION
#ifndef TestPPTarget
#define TestPPTarget(root)						@@\
all:: root.Scr root.Dat							@@\
									@@\
root.Dat: root.dat							@@\
	$(RM) root.Dat							@@\
	$(COMMONPP) $(DEFINES) root.dat					@@\
root.Scr: root.scr							@@\
	$(RM) root.Scr							@@\
	$(COMMONPP) $(DEFINES) root.scr
#endif 
#else
#ifndef TestPPTarget
#define TestPPTarget(root)                                              @@\
all:: root.Dat                                                          @@\
                                                                        @@\
root.Dat: root.dat                                                      @@\
	$(RM) root.Dat                                                  @@\
	$(COMMONPP) $(DEFINES) root.dat
#endif
#endif

#ifdef AUTOMATION
#ifndef TestPPTargetScr
#define TestPPTargetScr(root)                                           @@\
all:: root.Scr                                                          @@\
                                                                        @@\
root.Scr: root.scr							@@\
	$(RM) root.Scr							@@\
	$(COMMONPP) $(DEFINES) root.scr
#endif
#else
#ifndef TestPPTargetScr
#define TestPPTargetScr(root)  /**/
#endif
#endif

#ifdef AUTOMATION
#ifndef TestPPTargetDat
#define TestPPTargetDat(root)                                              @@\
all:: root.Dat                                                          @@\
                                                                        @@\
root.Dat: root.dat                                                      @@\
	$(RM) root.Dat                                                  @@\
	$(COMMONPP) $(DEFINES) root.dat
#endif
#endif
#ifndef AUTOMATION
#ifndef TestPPTargetDat
#define TestPPTargetDat(root)                                              @@\
all:: root.Dat                                                          @@\
                                                                        @@\
root.Dat: root.dat                                                      @@\
	$(RM) root.Dat                                                  @@\
	$(COMMONPP) $(DEFINES) root.dat
#endif
#endif


#ifndef NO_AUTOMATION
#ifndef RunTarget
#define RunTarget()							@@\
all::	RUN								@@\
									@@\
RUN:	always								@@\
	$(GENRUN) $(CURRENT_DIR) $(MTOP) $(DEFINES)			@@\
									@@\
always: 								@@\
	$(RM) RUN
#endif
#else
#ifdef UseVista
#ifndef RunTarget
#define RunTarget()							@@\
all::	RUN								@@\
									@@\
RUN:	always								@@\
	$(MANRUN) $(CURRENT_DIR) $(MTOP) $(DEFINES)			@@\
									@@\
always: 								@@\
	$(RM) RUN
#endif
#else
#ifdef UsePurify
#ifndef RunTarget
#define RunTarget()							@@\
all::	RUN								@@\
									@@\
RUN:	always								@@\
	$(MANRUN) $(CURRENT_DIR) $(MTOP) $(DEFINES)			@@\
									@@\
always: 								@@\
	$(RM) RUN
#endif
#else
#ifndef RunTarget
#define RunTarget()							@@\
all::	RUN								@@\
									@@\
RUN:	always								@@\
									@@\
always: 								@@\

#endif
#endif
#endif
#endif
#ifdef UseVista
#ifndef VistaMapRule
#define VistaMapRule(targetmap,depend)					@@\
all:: targetmap								@@\
									@@\
targetmap: depend 							@@\
	$(RM) $(MTOP)/tests/Vista/targetmap				@@\
	CATCMD *.M > $(MTOP)/tests/Vista/targetmap
#endif
#ifndef ComplexVistaMapRule
#define ComplexVistaMapRule(program,filelist)				@@\
all::	program.M							@@\
									@@\
program.M: filelist							@@\
	$(RM) program.vista.tmpfile					@@\
	touch program.vista.tmpfile					@@\
	@case '${MFLAGS}' in *[ik]*) set +e;; esac;			@@\
	@for i in filelist; do \					@@\
		cat `basename $$i .o`.M >> program.vista.tmpfile ; done	@@\
	$(RM) program.M							@@\
	$(MV) program.vista.tmpfile program.M				@@\
									@@\
clean::									@@\
	$(RM) *.M
#endif

#endif

/*  Rule for making shadow trees.	*/
#ifndef MakeShadowTree
#define MakeShadowTree(name,dirs)			@@\
all::							@@\
	@case '${MFLAGS}' in *[ik]*) set +e;; esac;	@@\
	MakeDir(name)					@@\
	@for i in dirs; \				@@\
        do if [ -d $$i/name ]; then \			@@\
        exit 0; else set -x; mkdir $$i/name; fi \	@@\
	done						@@\
	@for i in dirs; \				@@\
	do if [ -r name/$$i ]; then \			@@\
		set +x; \				@@\
		else (set -x; $(LN) ../$$i/name  name/$$i); fi \@@\
	done
#endif

#ifdef BuildPlusPlus

/* Rules for C++ */

/*
 * "CPlusPlusObjectCompile" - compile fragment for a normal C++ object file
*/
#ifndef CPlusPlusObjectCompile
#define CPlusPlusObjectCompile(options) $(RM) $@                       @@\
	$(CPLUSPLUSCOM) -c $(CPLUSPLUSFLAGS) options $*.cxx
#endif

#ifndef CPlusPlusObjectRule
#define CPlusPlusObjectRule()						@@\
.cxx.o:									@@\
	CPlusPlusObjectCompile($(_NOOP_))
#endif /* CPlusPlusObjectRule */

#ifndef MCPlusPlusSimpleProgramTarget
#define MCPlusPlusSimpleProgramTarget(program)                          @@\
AllTarget(program)                                                      @@\
	                                                                @@\
program: program.o $(DEPS) $(DEPLIBS)					@@\
	RemoveTargetProgram($@)                                         @@\
	$(CXXLINK) -o $@ program.o $(LDOPTIONS) $(DEPS) $(LOCAL_LIBRARIES) $(CXXLIBS) $(LDLIBS) $(EXTRA_LOAD_FLAGS)  @@\
	                                                                @@\
clean::                                                                 @@\
	$(RM) program
#endif

#ifndef MCPlusPlusComplexProgramTarget
#define	MCPlusPlusComplexProgramTarget(program,locallib,syslib)		@@\
        PROGRAM = program						@@\
									@@\
AllTarget(program)							@@\
									@@\
program: $(OBJS) $(DEPLIBS)						@@\
	RemoveTargetProgram($@)						@@\
	$(CXXLINK) -o $@ $(LDOPTIONS) $(OBJS) locallib $(CXXLIBS) $(LDLIBS) syslib $(EXTRA_LOAD_FLAGS)	@@\
									@@\
CenterProgramTarget(program,$(SRCS),$(OBJS),locallib,syslib)		@@\
									@@\
InstallProgram(program,$(BINDIR))					@@\
									@@\
install.man::								@@\
	@echo To install documentation for $(PROGRAM), consult the Release Notes	@@\
	@echo and/or README file in the current directory.		@@\
DependTarget()								@@\
LintTarget()								@@\
									@@\
clean::									@@\
	$(RM) $(PROGRAM)
#endif

#endif /* BuildPlusPlus */

/* Rules for message catalog building */
#ifndef Real_MessageCatalogRule
#define Real_MessageCatalogRule(prefix)					@@\
prefix.cat Concat(prefix,MsgCatI.h):					@@\
	$(RM) Concat(prefix,MsgCatI.h) prefix.cat $(MLOCSRC)/C/msg/prefix.msg	@@\
	$(MKCATTOOL) Concat(prefix,MsgCatI.h) prefix.msg > $(MLOCSRC)/C/msg/prefix.msg	@@\
	$(GENCAT) prefix.cat $(MLOCSRC)/C/msg/prefix.msg		@@\
									@@\
includes:: prefix.cat Concat(prefix,MsgCatI.h)				@@\
									@@\
depend:: prefix.cat Concat(prefix,MsgCatI.h)				@@\
									@@\
all:: prefix.cat							@@\
									@@\
clean::									@@\
	$(RM) prefix.cat Concat(prefix,MsgCatI.h)
#endif
#define Stub_MessageCatalogRule(prefix)	/**/


/* The X BuildLibDir is now an import, not an export. */
#if UseImports || ImportX11
# ifndef XBuildLibDir
#  define XBuildLibDir $(TOP)/imports/x11/lib
# endif
#endif


/* Search the Motif ProjectRoot too if it is different. For LessTif, we put
 * $(MPROJECTROOT)/lib first, since Motif may be installed in the standard X
 * directory tree 
 */
#ifdef MotifProjectRoot
# define MUsrLibDirPath	Concat($(MPROJECTROOT)/lib,:XUsrLibDirPath)
#else
# define MUsrLibDirPath	XUsrLibDirPath
#endif
#ifdef UsrLibDirPath
# undef UsrLibDirPath
#endif
#define UsrLibDirPath	MUsrLibDirPath

#if ImportMotif
# define MLdPreLibs	-L$(MLIBSRC)
#elif defined(UseInstalledMotif) && defined(MotifProjectRoot)
# define MLdPreLibs	-L$(MPROJECTROOT)/lib
#else
# define MLdPreLibs	/**/
#endif
#ifdef LdPreLibs
# undef LdPreLibs
#endif
/* For LessTif we swap LdPreLib and MLdPreLibs */
#define LdPreLibs	MLdPreLibs LdPreLib XLdPreLibs

#ifdef LdPostLibs
# undef LdPostLibs
#endif
#ifdef MotifProjectRoot
# define MLdPostLibs	-L$(MPROJECTROOT)/lib
#else
# define MLdPostLibs	/**/
#endif
/* For LessTif we swap LdPostLib and MLdPostLibs */
#define LdPostLibs	MLdPostLibs LdPostLib XLdPostLibs

#if ImportMotif
# define TopMotifInclude	-I$(TOP)/imports/motif/include
#elif !UseInstalledMotif
# define TopMotifInclude	-I$(TOP)/exports/include
#else
# ifdef MotifProjectRoot
#  define TopMotifInclude	-I$(MPROJECTROOT)/include
# else
#  define TopMotifInclude	/**/
# endif
#endif
#ifdef TopIncludes
# undef TopIncludes
#endif
/* For LessTif we swap TopInclude and $(TOP_MOTIF_INCLUDES) */
#define TopIncludes	$(TOP_MOTIF_INCLUDES) TopInclude $(TOP_X_INCLUDES)

#if UseInstalledMotif && defined(MotifProjectRoot)
# define MotifBuildLibPath	$(MPROJECTROOT)/lib
#elif UseInstalledMotif
# define MotifBuildLibPath	$(USRLIBDIR)
#elif ImportMotif
# define MotifBuildLibPath	$(MLIBSRC)
#else
# define MotifBuildLibPath	$(TOP)/exports/lib
#endif
#ifdef BuildLibPath
# undef BuildLibPath
#endif
#ifdef SystemBuildLibPath
# define BuildLibPath	$(MOTIFENVLIBDIR):$(XENVLIBDIR):$(SYSTEMENVLIBDIR)
#else
# define BuildLibPath	$(MOTIFENVLIBDIR):$(XENVLIBDIR)
#endif

#ifndef MotifProjectDefines
# define MotifProjectDefines	MotifDefines MessageCatalogDefines
#endif
#ifdef ProjectDefines
# undef ProjectDefines
#endif
#define ProjectDefines	X11ProjectDefines MotifProjectDefines

#ifndef MotifCplusplusProjectDefines
# define MotifCplusplusProjectDefines	MotifProjectDefines
#endif
#ifdef CplusplusProjectDefines
# undef CplusplusProjectDefines
#endif
#define CplusplusProjectDefines	\
	X11CplusplusProjectDefines MotifCplusplusProjectDefines
