os2.rules   [plain text]


XCOMM $Xorg: os2.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $



XCOMM platform:  $XFree86: xc/config/cf/os2.rules,v 3.24 2003/10/21 17:41:44 tsi Exp $

.SUFFIXES: .Osuf .c .CCsuf

.c.Osuf:
	$(CC) $(CFLAGS) -c $*.c

#if HasCplusplus
.CCsuf.Osuf:
	$(CXX) $(CFLAGS) -c $*.CCsuf
#endif

#ifndef UseInstalled
#define XkbComp /xkbcomp
#else
#define XkbComp xkbcomp
#endif

/*
 * same problem as with cygwin...
 * DependDependencyStatement - Imake.rules wraps $(DEPEND) in
 * ProgramTargetName(), which causes cross compiling to think that
 * $(DEPEND) hasn't been built, as $(DEPEND) is a host tool, and should
 * not be wrapped with ProgramTargetName().  Perhaps there should be
 * a HostProgramTargetName()...
 */
#ifndef DependDependencyStatement
#define DependDependencyStatement()                                     @@\
depend:: $(DEPEND)
#endif
	DEPEND2 = $(SHELL) $(DEPEND)

/*
 * DependDependency - Imake.rules wraps $(DEPEND) in ProgramTargetName().
 * This doesn't work when cross compiling, see the locally defined
 * DependDependencyStatement comment (above) for more information.
 */

#ifndef DependDependency
#ifdef UseInstalled
#define DependDependency() /**/
#else
#define DependDependency()						@@\
DependDependencyStatement()						@@\
									@@\
NoCmpScript($(DEPEND))							@@\
									@@\
$(DEPEND):								@@\
	@echo "checking $@ over in $(DEPENDSRC) first..."; \		@@\
	cd $(DEPENDSRC) && $(MAKE) makedependonly; \			@@\
	echo "okay, continuing in $(CURRENT_DIR)"

#endif /* UseInstalled */
#endif /* DependDependency */

/*
 * HostLinkRule - link a utility to be used on the build host
 * (differs from LinkRule if cross compiling)
 */
#ifndef HostLinkRule
#define HostLinkRule(program,options,objects,libraries) \
$(CCLINK) -Zmtd -o program options objects libraries $(EXTRA_LOAD_FLAGS)
#endif

#ifndef DependTarget
#define	DependTarget()							@@\
DependDependency()							@@\
									@@\
depend::								@@\
	$(SHELL) $(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS)
#endif /* DependTarget */

/*
 * DependTarget3 - generate rules to compute dependencies for all files given.
 */
#ifndef DependTarget3
#define	DependTarget3(srcs1,srcs2,srcs3)				@@\
DependDependency()							@@\
									@@\
depend::								@@\
	$(SHELL) $(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1	@@\
	$(SHELL) $(DEPEND) -a $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs2	@@\
	$(SHELL) $(DEPEND) -a $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs3
#endif /* DependTarget3 */

#ifdef UseInstalled
#define RmanDependency() /**/
#else
#define RmanDependency()						@@\
NoCmpScript(ProgramTargetName($(RMAN)))					@@\
									@@\
ProgramTargetName($(RMAN)):						@@\
	@echo "checking $@ over in $(TOP)/config/util first..."; \	@@\
	echo "okay, continuing in $(CURRENT_DIR)"

#endif /* UseInstalled */

#define MakeXkbDir(basedir,subdir)					@@\
all::   Concat(subdir,.dir)						@@\
									@@\
Concat(subdir,.dir):							@@\
	RemoveFile(Concat(subdir,.dir))					@@\
	XkbComp -lfhlpR -o Concat(subdir,.dir) *			@@\
									@@\
InstallTarget(install,Concat(subdir,.dir),$(INSTDATFLAGS),basedir)	@@\
									@@\
clean::									@@\
	RemoveFile(Concat(subdir,.dir))