head	1.2;
access;
symbols
	netbsd-7-2-RELEASE:1.1.1.5
	netbsd-7-1-2-RELEASE:1.1.1.5
	netbsd-7-1-1-RELEASE:1.1.1.5
	netbsd-7-1:1.1.1.5.0.40
	netbsd-7-1-RELEASE:1.1.1.5
	netbsd-7-1-RC2:1.1.1.5
	netbsd-7-1-RC1:1.1.1.5
	netbsd-7-0-2-RELEASE:1.1.1.5
	netbsd-7-0-1-RELEASE:1.1.1.5
	netbsd-7-0:1.1.1.5.0.38
	netbsd-7-0-RELEASE:1.1.1.5
	netbsd-7-0-RC3:1.1.1.5
	netbsd-7-0-RC2:1.1.1.5
	netbsd-7-0-RC1:1.1.1.5
	netbsd-5-2-3-RELEASE:1.1.1.5
	netbsd-5-1-5-RELEASE:1.1.1.5
	netbsd-6-0-6-RELEASE:1.1.1.5
	netbsd-6-1-5-RELEASE:1.1.1.5
	netbsd-7:1.1.1.5.0.36
	netbsd-7-base:1.1.1.5
	netbsd-6-1-4-RELEASE:1.1.1.5
	netbsd-6-0-5-RELEASE:1.1.1.5
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.5
	riastradh-drm2:1.1.1.5.0.34
	riastradh-drm2-base:1.1.1.5
	netbsd-6-1-3-RELEASE:1.1.1.5
	netbsd-6-0-4-RELEASE:1.1.1.5
	netbsd-5-2-2-RELEASE:1.1.1.5
	netbsd-5-1-4-RELEASE:1.1.1.5
	netbsd-6-1-2-RELEASE:1.1.1.5
	netbsd-6-0-3-RELEASE:1.1.1.5
	netbsd-5-2-1-RELEASE:1.1.1.5
	netbsd-5-1-3-RELEASE:1.1.1.5
	netbsd-6-1-1-RELEASE:1.1.1.5
	netbsd-6-1:1.1.1.5.0.32
	netbsd-6-0-2-RELEASE:1.1.1.5
	netbsd-6-1-RELEASE:1.1.1.5
	netbsd-6-1-RC4:1.1.1.5
	netbsd-6-1-RC3:1.1.1.5
	netbsd-6-1-RC2:1.1.1.5
	netbsd-6-1-RC1:1.1.1.5
	netbsd-5-2:1.1.1.5.0.30
	netbsd-6-0-1-RELEASE:1.1.1.5
	netbsd-5-2-RELEASE:1.1.1.5
	netbsd-5-2-RC1:1.1.1.5
	netbsd-6-0:1.1.1.5.0.28
	netbsd-6-0-RELEASE:1.1.1.5
	netbsd-6-0-RC2:1.1.1.5
	netbsd-6-0-RC1:1.1.1.5
	netbsd-6:1.1.1.5.0.26
	netbsd-6-base:1.1.1.5
	netbsd-5-1-2-RELEASE:1.1.1.5
	netbsd-5-1-1-RELEASE:1.1.1.5
	netbsd-5-1:1.1.1.5.0.24
	netbsd-5-1-RELEASE:1.1.1.5
	netbsd-5-1-RC4:1.1.1.5
	netbsd-5-1-RC3:1.1.1.5
	netbsd-5-1-RC2:1.1.1.5
	netbsd-5-1-RC1:1.1.1.5
	netbsd-5-0-2-RELEASE:1.1.1.5
	netbsd-5-0-1-RELEASE:1.1.1.5
	netbsd-5-0:1.1.1.5.0.22
	netbsd-5-0-RELEASE:1.1.1.5
	netbsd-5-0-RC4:1.1.1.5
	netbsd-5-0-RC3:1.1.1.5
	netbsd-5-0-RC2:1.1.1.5
	netbsd-5-0-RC1:1.1.1.5
	netbsd-5:1.1.1.5.0.20
	netbsd-5-base:1.1.1.5
	netbsd-4-0-1-RELEASE:1.1.1.5
	netbsd-4-0:1.1.1.5.0.18
	netbsd-4-0-RELEASE:1.1.1.5
	netbsd-4-0-RC5:1.1.1.5
	netbsd-4-0-RC4:1.1.1.5
	netbsd-4-0-RC3:1.1.1.5
	netbsd-4-0-RC2:1.1.1.5
	netbsd-4-0-RC1:1.1.1.5
	netbsd-3-1-1-RELEASE:1.1.1.5
	netbsd-3-0-3-RELEASE:1.1.1.5
	abandoned-netbsd-4-base:1.1.1.5
	abandoned-netbsd-4:1.1.1.5.0.12
	netbsd-3-1:1.1.1.5.0.14
	netbsd-3-1-RELEASE:1.1.1.5
	netbsd-3-0-2-RELEASE:1.1.1.5
	netbsd-3-1-RC4:1.1.1.5
	netbsd-3-1-RC3:1.1.1.5
	netbsd-3-1-RC2:1.1.1.5
	netbsd-3-1-RC1:1.1.1.5
	netbsd-4:1.1.1.5.0.16
	netbsd-4-base:1.1.1.5
	netbsd-3-0-1-RELEASE:1.1.1.5
	netbsd-3-0:1.1.1.5.0.10
	netbsd-3-0-RELEASE:1.1.1.5
	netbsd-3-0-RC6:1.1.1.5
	netbsd-3-0-RC5:1.1.1.5
	netbsd-3-0-RC4:1.1.1.5
	netbsd-3-0-RC3:1.1.1.5
	netbsd-3-0-RC2:1.1.1.5
	netbsd-3-0-RC1:1.1.1.5
	netbsd-2-0-3-RELEASE:1.1.1.5
	netbsd-2-1:1.1.1.5.0.8
	netbsd-2-1-RELEASE:1.1.1.5
	netbsd-2-1-RC6:1.1.1.5
	netbsd-2-1-RC5:1.1.1.5
	netbsd-2-1-RC4:1.1.1.5
	netbsd-2-1-RC3:1.1.1.5
	netbsd-2-1-RC2:1.1.1.5
	netbsd-2-1-RC1:1.1.1.5
	netbsd-2-0-2-RELEASE:1.1.1.5
	v4-5-0:1.1.1.5
	v4-5-0_beforeimport:1.1.1.5
	netbsd-3:1.1.1.5.0.6
	netbsd-3-base:1.1.1.5
	netbsd-2-0-1-RELEASE:1.1.1.5
	netbsd-2:1.1.1.5.0.4
	netbsd-2-base:1.1.1.5
	netbsd-2-0-RELEASE:1.1.1.5
	netbsd-2-0-RC5:1.1.1.5
	netbsd-2-0-RC4:1.1.1.5
	netbsd-2-0-RC3:1.1.1.5
	netbsd-2-0-RC2:1.1.1.5
	netbsd-2-0-RC1:1.1.1.5
	netbsd-2-0:1.1.1.5.0.2
	netbsd-2-0-base:1.1.1.5
	v4-4-0:1.1.1.5
	v4-4-0_beforeimport:1.1.1.4
	netbsd-1-6-PATCH002-RELEASE:1.1.1.4
	netbsd-1-6-PATCH002:1.1.1.4
	netbsd-1-6-PATCH002-RC4:1.1.1.4
	v4-3-0-2003-12-19:1.1.1.4
	netbsd-1-6-PATCH002-RC3:1.1.1.4
	netbsd-1-6-PATCH002-RC2:1.1.1.4
	netbsd-1-6-PATCH002-RC1:1.1.1.4
	netbsd-1-6:1.1.1.4.0.2
	netbsd-1-6-base:1.1.1.4
	v4-3-0:1.1.1.4
	v4-3-0_beforeimport:1.1.1.3
	netbsd-1-6-PATCH001:1.1.1.3
	netbsd-1-6-RELEASE:1.1.1.3
	v4-2-1:1.1.1.3
	v4-2-1_beforeimport:1.1.1.3
	netbsd-1-5-PATCH003:1.1.1.3
	v4-2-0:1.1.1.3
	netbsd-1-5-PATCH002:1.1.1.3
	netbsd-1-5-PATCH001:1.1.1.2
	v4-1-0:1.1.1.3
	v4-0-3:1.1.1.2
	v4-0-2:1.1.1.1
	XF86:1.1.1;
locks; strict;
comment	@# @;


1.2
date	2015.07.23.08.12.32;	author mrg;	state dead;
branches;
next	1.1;
commitid	3Fk7MoycOv7VSnuy;

1.1
date	2001.01.01.12.43.51;	author veego;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2001.01.01.12.43.51;	author veego;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	2001.03.18.16.55.58;	author veego;	state Exp;
branches;
next	1.1.1.3;

1.1.1.3
date	2001.06.09.14.52.58;	author tron;	state Exp;
branches;
next	1.1.1.4;

1.1.1.4
date	2003.02.28.13.18.42;	author tron;	state Exp;
branches;
next	1.1.1.5;

1.1.1.5
date	2004.03.05.14.23.52;	author tron;	state Exp;
branches;
next	;


desc
@@


1.2
log
@remove obsolete XFree86 sources.
@
text
@XCOMM $XConsortium: os2.rules /main/1 1996/10/31 14:47:27 kaleb $



XCOMM platform:  $XFree86: xc/config/cf/os2.rules,v 3.21 2000/04/05 18:13:09 dawes Exp $

.SUFFIXES: .Osuf .c .CCsuf

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

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

#ifndef UseInstalled
#define ImakeHelper \imakesvc
#define IMmode n
#define ImakeIndir \indir
#define ImakeSubCmdHelper \imake -I$(IRULESRC) $(IMAKE_DEFINES)
#define Fontc \bdftopcf
#define MkFontDir \mkfontdir
#define XkbComp \xkbcomp
#define PsWrap \pswrap
#else
#define ImakeHelper imakesvc
#define IMmode u
#define ImakeIndir indir
#define ImakeSubCmdHelper $(IMAKE_CMD)
#define Fontc bdftopcf
#define MkFontDir mkfontdir
#define XkbComp xkbcomp
#define PsWrap pswrap
#endif

#define echo ImakeHelper 8 
#define RunProgram(progvar,options) $(subst /,\,$(progvar)) options
#define RemoveFile(file) $(RM) file
#define RemoveFiles(files) $(RM) files
#define NeedLdLibraryPathForXkbComp NO

#define LibObjCompile(dir,options) RemoveFiles($@@ dir\$@@)		@@@@\
	$(CC) $(CCOPTIONS) $(ALLDEFINES) options -c  $*.c		@@@@\
	$(MV) $@@ dir\$@@

#define MakeDir(dir) $(MKDIRHIER) dir

#define BuildIncludesTop(srclist)					@@@@\
includes:: srclist							@@@@\
	MakeDir($(BUILDINCDIR))						@@@@\
	@@for %i in (srclist) do ImakeHelper 2 $(BUILDINCDIR) $(BUILDINCTOP) $(CURRENT_DIR) %i

#define	ProgramTargetHelper(program,srcs,objs,deplib,locallib,syslib)	@@@@\
ProgramTargetName(program): $(objs) 					@@@@\
	RemoveTargetProgram($@@)						@@@@\
	LinkRule($@@,$(LDOPTIONS),$(objs),locallib $(LDLIBS) syslib)	@@@@\
									@@@@\
InstallProgram(program,$(BINDIR))					@@@@\
InstallManPage(program,$(MANDIR))

#if 0
#define	ProgramTargetHelperNoMan(program,srcs,objs,deplib,locallib,syslib)	@@@@\
ProgramTargetName(program): $(objs) 					@@@@\
	RemoveTargetProgram($@@)						@@@@\
	LinkRule($@@,$(LDOPTIONS),$(objs),locallib $(LDLIBS) syslib)	@@@@\
									@@@@\
InstallProgram(program,$(BINDIR))
#endif


#define BuildIncludes(srclist,dstsubdir,dstupdir)			@@@@\
includes:: srclist							@@@@\
	MakeDir($(BUILDINCDIR)/dstsubdir)				@@@@\
	@@for %i in (srclist) do ImakeHelper 3 $(BUILDINCTOP)/dstupdir/$(CURRENT_DIR) $(BUILDINCDIR)/dstsubdir %i

#define LinkFileList(step,list,dir,sub)					@@@@\
step::  list								@@@@\
	@@for %i in (list) do ImakeHelper 3 sub dir %i

#define ComplexProgramTarget(program)					@@@@\
PROGRAM = ProgramTargetName(program)					@@@@\
									@@@@\
AllTarget(ProgramTargetName(program))					@@@@\
									@@@@\
ProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@@@\
									@@@@\
DependTarget()								@@@@\
LintTarget()								@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile($(PROGRAM))

#define ComplexProgramTarget_1(program,locallib,syslib)			@@@@\
OBJS = $(OBJS1) $(OBJS2) $(OBJS3)					@@@@\
SRCS = $(SRCS1) $(SRCS2) $(SRCS3)					@@@@\
PROGRAM1 = ProgramTargetName(program)					@@@@\
									@@@@\
AllTarget($(PROGRAM1) $(PROGRAM2) $(PROGRAM3))				@@@@\
									@@@@\
ProgramTargetHelper(program,SRCS1,OBJS1,DEPLIBS1,locallib,syslib)	@@@@\
									@@@@\
DependTarget()								@@@@\
LintTarget()								@@@@\
									@@@@\
clean::									@@@@\
	RemoveFiles($(PROGRAMS))

#define ComplexProgramTarget_2(program,locallib,syslib)			@@@@\
PROGRAM2 = ProgramTargetName(program)					@@@@\
									@@@@\
ProgramTargetHelper(program,SRCS2,OBJS2,DEPLIBS2,locallib,syslib)

#define ComplexProgramTarget_3(program,locallib,syslib)			@@@@\
PROGRAM3 = ProgramTargetName(program)					@@@@\
									@@@@\
ProgramTargetHelper(program,SRCS3,OBJS3,DEPLIBS3,locallib,syslib)

#define NormalProgramTarget(program,objects,deplibs,locallibs,syslibs)	@@@@\
ProgramTargetName(program): objects 					@@@@\
	RemoveTargetProgram($@@)						@@@@\
	LinkRule($@@,$(LDOPTIONS),objects,locallibs $(LDLIBS) syslibs)	@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(ProgramTargetName(program))

#if 0
#define ComplexProgramTargetNoMan(program)				@@@@\
PROGRAM = ProgramTargetName(program)					@@@@\
									@@@@\
AllTarget(ProgramTargetName(program))					@@@@\
									@@@@\
ProgramTargetHelperNoMan(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@@@\
									@@@@\
DependTarget()								@@@@\
LintTarget()								@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile($(PROGRAM))
#endif

#define MoveToBakFile(file) ImakeHelper 5 file

#define RMoveToBakFile(file) ImakeHelper 6 file

#define InstallMultipleDestFlags(step,list,dest,flags)			@@@@\
step:: list								@@@@\
	MakeDir($(DESTDIR)dest)							@@@@\
	$(INSTALL) $(INSTALLFLAGS) flags list $(subst /,\,$(DESTDIR)dest)

#define	CleanTarget()							@@@@\
clean::									@@@@\
	RemoveFiles(FilesToClean ExtraFilesToClean)

#define LinkSourceFile(src,dir)						@@@@\
src:									@@@@\
	ImakeHelper 3 dir . src						@@@@\
									@@@@\
includes:: src								@@@@\
									@@@@\
depends:: src								@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(src)

#define LinkFile(tofile,fromfile)					@@@@\
tofile:: fromfile							@@@@\
	ImakeHelper 7 fromfile tofile					@@@@\
									@@@@\
includes:: tofile							@@@@\
									@@@@\
depend:: tofile								@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(tofile)

#ifndef UseInstalled
#define ImakeDependency(target)						@@@@\
target:: ProgramTargetName($(IMAKE))					@@@@\
									@@@@\
ProgramTargetName($(IMAKE)):						@@@@\
	@@ImakeIndir $(IMAKESRC) if exist Makefile $(MAKE) SHELL= MAKE=x11make all		@@@@\
	@@ImakeIndir $(IMAKESRC) if not exist Makefile $(MAKE) SHELL= MAKE=x11make -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)"
#endif

#ifndef UseInstalled
#define DependDependency() 						@@@@\
depend:: ProgramTargetName($(DEPEND))					@@@@\
									@@@@\
ProgramTargetName($(DEPEND)):						@@@@\
	@@ImakeIndir $(DEPENDSRC) $(MAKE) SHELL= MAKE=x11make 
#endif

#if 0
#define	DependTarget()							@@@@\
DependDependency()							@@@@\
									@@@@\
depend::								@@@@\
	$(subst /,\,$(DEPEND)) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS)

#define	DependTarget3(srcs1,srcs2,srcs3)				@@@@\
DependDependency()							@@@@\

/* Currently this stuff doesn't work correctly for libX11
depend::								@@@@\
	$(subst /,\,$(DEPEND)) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1 @@@@\
	$(subst /,\,$(DEPEND)) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs2 @@@@\
	$(subst /,\,$(DEPEND)) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs3
*/
#endif

#define DependTarget()							@@@@\
depend::

#define DependTarget3(src1,src2,src3)					@@@@\
depend::

#define ForceSubdirs(dirs)						@@@@\
dirs: DONE								@@@@\
									@@@@\
DONE:									@@@@\
	@@for %i in (dirs) do ImakeIndir %i $(MAKE) SHELL= MAKE=x11make $(MFLAGS) PassCDebugFlags all @@@@\
	touch DONE							@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(DONE)

#define MakeMakeSubdirs(dirs,target)					@@@@\
MMSDIRS = dirs								@@@@\
MMSTOP = $(TOP)								@@@@\
MMSRULES = $(IRULESRC)							@@@@\
MMSCUR = $(CURRENT_DIR)							@@@@\
target::								@@@@\
	@@for %i in ($(subst /,\,$(MMSDIRS))) do ImakeHelper 1 IMmode %i $(MMSRULES) $(MMSTOP) $(MMSCUR)

#define NamedTargetSubdirs(name,dirs,verb,flags,subname)		@@@@\
Concat(SUBST,name) = dirs						@@@@\
name::									@@@@\
	@@for %i in ($(subst /,\,$(Concat(SUBST,name)))) do ImakeIndir %i $(MAKE) SHELL= MAKE=x11make $(MFLAGS) flags subname

#define InstallNamedTarget(step,srcname,flags,dest,dstname)		@@@@\
step:: srcname								@@@@\
	MakeDir($(DESTDIR)dest)						@@@@\
	$(INSTALL) $(INSTALLFLAGS) flags srcname $(subst \,/,$(DESTDIR)dest)/dstname

#define	BuildMakefileTarget(notused,imakeflags)				@@@@\
ImakeDependency(Makefile)						@@@@\
									@@@@\
Makefile:: 								@@@@\
	RMoveToBakFile(Makefile)					@@@@\
	ImakeSubCmdHelper -DTOPDIR=$(TOP) -DCURDIR=$(CURRENT_DIR) imakeflags

#define AssembleObject(flags) RemoveFile($@@)                            @@@@\
	$(CPP) AsmDefines $(DEFINES) $(INCLUDES) flags $*.S | grep -v '^\#' > _tmp_.s @@@@\
	$(CC) $(CFLAGS) -o $*.Osuf -c _tmp_.s                           @@@@\
	RemoveFile(_tmp_.s)

#define NormalAsmObjectRule()                                           @@@@\
.S.Osuf:                                                                @@@@\
	AssembleObject($(_NOOP_))

#define ObjectMapIncludeFromSpecialSource(dst,src,flags)		@@@@\
dst.c: src.c								@@@@\
	ImakeHelper 9 $@@ mfbmap.h $?					@@@@\
									@@@@\
SpecialCObjectRule(dst,NullParameter,flags)				@@@@\
									@@@@\
depend:: dst.c								@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(dst.c)

#define FontBaseObj(basename)basename.pcf
/*
 * UncompressedFontTarget
 */
#define UncompressedFontTarget(basename)				@@@@\
FontBaseObj(basename):  FontSrc(basename)				@@@@\
	Fontc $(FONTCFLAGS) $? -o $@@

/*
 * CompressedFontTarget
 */
#ifndef CompressedFontTarget
#if GzipFontCompression
#define CompressedFontTarget(basename)					@@@@\
FontBaseObj(basename).gz:  FontSrc(basename)				@@@@\
	Fontc $(FONTCFLAGS) $? | $(GZIPCMD) > $@@
#else
#define CompressedFontTarget(basename)					@@@@\
FontBaseObj(basename).Z:  FontSrc(basename)				@@@@\
	Fontc $(FONTCFLAGS) $? | $(COMPRESS) > $@@
#endif
#endif

/*
 * MakeFontsDir - generate rules to build fonts.dir database.
 */
#define MakeFontsDir(deplist)						@@@@\
all:: fonts.dir								@@@@\
									@@@@\
fonts.dir:  deplist							@@@@\
	MkFontDir .							@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(fonts.dir)

/* OS/2 scripts are based on REXX
 * it is just the SHELL variable that is messed up that forces me to
 * modify this rule
 */
#define ConfigTargetLong(target,dep,script,args,extra)			@@@@\
all:: Configure								@@@@\
									@@@@\
Configure:: target.o							@@@@\
									@@@@\
target.c: script dep							@@@@\
	$(MAKE) SHELL= MAKE=x11make $(MFLAGS) extra Concat(Build,target)			@@@@\
									@@@@\
Concat(Build,target):							@@@@\
	RemoveFile(target.c)						@@@@\
	script args							@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(target.c)

#ifndef ServerTargetWithFlags
#define	ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,flags) @@@@\
AllTarget(ProgramTargetName(server))					@@@@\
ProgramTargetName(server): subdirs objects libs				@@@@\
	MoveToBakFile($@@)						@@@@\
	LinkRule($@@,$(LDOPTIONS),objects,libs $(LDLIBS) syslibs)	@@@@\
	emxbind -a ProgramTargetName(server) -h255			@@@@\
									@@@@\
Concat(load,server):							@@@@\
	MoveToBakFile(ProgramTargetName(server))			@@@@\
	LinkRule(ProgramTargetName(server),$(LDOPTIONS),objects,libs $(LDLIBS) syslibs) @@@@\
									@@@@\
loadX:: Concat(load,server)						@@@@\
									@@@@\
SentinelProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@@@\
SentinelLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@@@\
PurifyProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@@@\
PurifyLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@@@\
ProofProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@@@\
ProofLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@@@\
									@@@@\
InstallProgramWithFlags(server,$(BINDIR),flags)				@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(ProgramTargetName(server))
#endif /* ServerTargetWithFlags */

/*
 * ServerTarget - rules to compile, link, and relink a normal server
 * Need a .def file for OS/2
 */
#ifndef ServerTarget
#define	ServerTarget(server,subdirs,objects,libs,syslibs)		@@@@\
ServerTargetWithFlags(server,subdirs,objects,libs,syslibs server.def,$(_NOOP_)) @@@@\
									@@@@\
ProgramTargetName(server): server.def
#endif /* ServerTarget */

/*
 * ToolkitMakeStrings generates a string-table, i.e., a C source
 * file and the matching header(s), e.g., Xt's StringDefs.c, StringDefs.h,
 * and Shell.h files; or Motif's XmStrDefs.c and XmStrDefs.h files.
 *
 * The 'files' argument is the list of files that will be produced by
 * this rule, e.g., for Xt they would be "Shell.h StringDefs.c StringDefs.h"
 * and for Motif they would be "XmStrDefs.c XmStrDefs.h".
 *
 * The 'source' argument is the string-list file to be parsed, e.g., in
 * Xt that would be "util/string.list".  For Motif 2.0 it would be
 * "../../tools/makestr/xmstring.list", and for Motif-CDE1 it would be
 * "util/xmstring.list".
 *
 * The 'options' argument is passed by the library's Imakefile, see the
 * Xt Imakefile for an example.  Typically this would be nothing, -intelabi,
 * or -sparcabi; there are other choices, but these are typical.
 *
 * The 'depends' argument names additional files the target files
 * depend on.  It should name the #ctmpl and #htmpl files from the
 * 'source' file.
 *
 * The 'dest' argument is the C source output file.  For Xt this should
 * be "StringDefs.c", and for all versions of Motif it would be "XmStrDefs.c"
 *
 * Headers are generated and named according to data in the 'source'
 * file.
 */

#ifndef ToolkitMakeStrings
#define ToolkitMakeStrings(files,source,options,depends,dest)		@@@@\
MAKESTRS = $(CONFIGSRC)/util/makestrs					@@@@\
MAKESTRS1 = /makestrs.exe						@@@@\
									@@@@\
ProgramTargetName($(MAKESTRS)): $(MAKESTRS).c				@@@@\
	ImakeIndir $(CONFIGSRC)/util make SHELL= ProgramTargetName(makestrs)	@@@@\
	ImakeHelper 7 $(CONFIGSRC)/util/makestrs.exe /			@@@@\
									@@@@\
files: ProgramTargetName($(MAKESTRS)) source depends			@@@@\
	RemoveFiles(files)						@@@@\
	RunProgram(MAKESTRS1,options < source > dest)			@@@@\
									@@@@\
AllTarget(files)							@@@@\
									@@@@\
includes:: files							@@@@\
									@@@@\
depend:: files								@@@@\
									@@@@\
clean::									@@@@\
	RemoveFiles(files)

#endif /* ToolkitMakeStrings */

/*#define CppSedMagic SedMagic*/
#define CppSedMagic sed -e '/^#  *[0-9][0-9]*  *.*$$/d' -e 's/^XCOMM/#/g' -e 's/^XCOMM[^a-zA-Z0-9_]/#/g'

#ifndef InstallNamedTargetNoClobber
#define InstallNamedTargetNoClobber(step,srcname,flags,dest,dstname)	@@@@\
step:: srcname								@@@@\
	MakeDir($(DESTDIR)dest)						@@@@\
	if not exist $(subst /,\,$(DESTDIR)dest)\dstname $(INSTALL) $(INSTALLFLAGS) flags srcname $(DESTDIR)dest/dstname

#endif /* InstallNamedTargetNoClobber */

#if CompressManPages

#ifndef InstallManPageLong
#define InstallManPageLong(file,destdir,dest)                           @@@@\
install.man:: file.man                                                  @@@@\
	MakeDir($(DESTDIR)destdir)					@@@@\
	ImakeHelper 12 file $(DESTDIR)destdir dest
#endif

#ifndef InstallManPageAliases
#define InstallManPageAliases(file,destdir,aliases)                     @@@@\
install.man::                                                           @@@@\
	MakeDir($(DESTDIR)destdir)					@@@@\
	for %i in (aliases) do $(INSTALL) $(DESTDIR)destdir/file.gz $(DESTDIR)destdir/%i.gz
#endif

#ifndef InstallGenManPageLong
#define InstallGenManPageLong(file,destdir,dest,suffix)                 @@@@\
install.man:: file.man                                                  @@@@\
	MakeDir($(DESTDIR)destdir)					@@@@\
	ImakeHelper 12 file $(DESTDIR)destdir dest
#endif

#ifndef InstallMultipleMan
#define InstallMultipleMan(list,dest)                                   @@@@\
install.man:: list                                                      @@@@\
	MakeDir($(DESTDIR)dest)						@@@@\
	ImakeHelper 14 $(DESTDIR)dest list
#endif

#else /* CompressManPages */

#ifndef InstallManPageLong
#define InstallManPageLong(file,destdir,dest)                           @@@@\
install.man:: file.man                                                  @@@@\
	MakeDir($(DESTDIR)destdir)					@@@@\
	ImakeHelper 10 file $(DESTDIR)destdir dest $(MANSUFFIX)
#endif

#ifndef InstallManPageAliases
#define InstallManPageAliases(file,destdir,aliases)                     @@@@\
install.man::                                                           @@@@\
	MakeDir($(DESTDIR)destdir)					@@@@\
	for %i in (aliases) do $(INSTALL) $(DESTDIR)destdir/file.$(MANSUFFIX) $(DESTDIR)destdir/%i.$(MANSUFFIX) 
#endif

#ifndef InstallGenManPageLong
#define InstallGenManPageLong(file,destdir,dest,suffix)                 @@@@\
install.man:: file.man                                                  @@@@\
	MakeDir($(DESTDIR)destdir)					@@@@\
	ImakeHelper 10 file $(DESTDIR)destdir dest suffix
#endif

#ifndef InstallMultipleMan
#define InstallMultipleMan(list,dest)                                   @@@@\
install.man:: list                                                      @@@@\
	MakeDir($(DESTDIR)dest)						@@@@\
	ImakeHelper 15 $(DESTDIR)dest $(MANSUFFIX) list
#endif

#endif

#ifndef NormalLintTarget
#define NormalLintTarget(srclist)
#endif /* NormalLintTarget */

#ifndef MakeDirectories
#define MakeDirectories(step,dirs)					@@@@\
step::									@@@@\
	-for %i in (dirs) do $(MKDIRHIER) $(DESTDIR)%i
#endif /* MakeDirectories */

#ifndef YaccFile
#define YaccFile(file,flags)						@@@@\
depend:: file.c								@@@@\
									@@@@\
file.h file.c: file.y							@@@@\
	$(YACC) flags file.y						@@@@\
	$(MV) y.tab.c file.c						@@@@\
	@@if exist y.tab.h $(MV) y.tab.h file.h				@@@@\
									@@@@\
clean::									@@@@\
	RemoveFiles(y.tab.c y.tab.h file.h file.c)
#endif /* YaccFile */

#ifndef StaticLibrary
#define StaticLibrary(libpath,libname) Concat4(libpath,/,libname,_s.a)
#endif

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

/* This is to replace an ugly hack in /xc/nls/XLC_LOCALE */
/* the corresponding Imake.rules rule would be:
   define LinkFileSpecial(gotodir,tofile,fromfile)	@@@@\
        @@MakeFlagsToShellFlags(i,set +e); \		@@@@\
	cd dir && (set -x; RemoveFile(tofile); $(LN) fromfile tofile)
 */
#ifndef LinkFileSpecial
#define LinkFileSpecial(gotodir,tofile,fromfile)			@@@@\
	ImakeHelper 13 gotodir fromfile tofile
#endif

#ifndef LinkBuildBinary
#define LinkBuildBinary(binary)						@@@@\
all:: $(BUILDBINDIR)/binary binary					@@@@\
									@@@@\
$(BUILDBINDIR)/binary: binary						@@@@\
	ImakeHelper 13 $(BUILDBINDIR) $(BUILDBINTOP)/$(CURRENT_DIR)/binary binary @@@@\
	$(CP) binary /
#endif /* LinkBuildBinary */

/* And this replaces a similarlry ugly hack in InstallDynamicModule */

#ifndef LinkBuildModule
#ifdef UseInstalled
#define LinkBuildModule(module,subdir) $(_NULLCMD_)
#else
#define LinkBuildModule(module,subdir) 					@@@@\
	MakeDir($(BUILDMODULEDIR)/subdir) 			 	@@@@\
	RemoveFile($(BUILDMODULEDIR)/subdir/module)                            @@@@\
	ImakeHelper 13 $(BUILDMODULEDIR)/subdir $(BUILDMODULETOP)/$(CURRENT_DIR)/module module
#endif
#endif /* LinkBuildModule */

#ifndef LinkBuildNamedModule
#define LinkBuildNamedModule(module,name) MakeDir($(BUILDMODULEDIR))    @@@@\
	RemoveFile($(BUILDMODULEDIR)/module)                            @@@@\
	ImakeHelper 13 $(BUILDMODULEDIR) $(BUILDMODULETOP)/$(CURRENT_DIR)/module name
#endif /* LinkBuildNamedModule */

#ifndef MakeEncDir
#define MakeEncDir(deplist,inst,dirlist )				@@@@\
AllTarget(encodings.dir)						@@@@\
									@@@@\
encodings.dir: deplist							@@@@\
	RemoveFiles(encodings.dir fonts.dir)				@@@@\
	ImakeHelper 16 MkFontDir dirlist				@@@@\
									@@@@\
clean::									@@@@\
	RemoveFiles(fonts.dir encodings.dir)
#endif
@


1.1
log
@Initial revision
@
text
@@


1.1.1.1
log
@Initial import of XFree86 4.x
@
text
@@


1.1.1.2
log
@Import of XFree86 4.0.3
@
text
@d5 1
a5 1
XCOMM platform:  $XFree86: xc/config/cf/os2.rules,v 3.20 1999/07/10 07:24:34 dawes Exp $
@


1.1.1.3
log
@Import of XFree86 4.1.0.
@
text
@d1 1
a1 1
XCOMM $Xorg: os2.rules,v 1.3 2000/08/17 19:41:48 cpqbld Exp $
d5 1
a5 1
XCOMM platform:  $XFree86: xc/config/cf/os2.rules,v 3.22 2001/01/17 16:22:32 dawes Exp $
@


1.1.1.4
log
@Import of XFree86 4.3.0.
@
text
@d5 1
a5 1
XCOMM platform:  $XFree86: xc/config/cf/os2.rules,v 3.23 2002/05/31 16:31:19 dawes Exp $
d18 8
a25 1
#define XkbComp /xkbcomp
d27 6
d34 1
d37 103
a139 11
/*
 * 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)
a140 1
	DEPEND2 = $(SHELL) $(DEPEND)
d142 23
a164 5
/*
 * DependDependency - Imake.rules wraps $(DEPEND) in ProgramTargetName().
 * This doesn't work when cross compiling, see the locally defined
 * DependDependencyStatement comment (above) for more information.
 */
d166 5
a170 6
#ifndef DependDependency
#ifdef UseInstalled
#define DependDependency() /**/
#else
#define DependDependency() 						@@@@\
DependDependencyStatement()						@@@@\
d172 1
a172 1
NoCmpScript($(DEPEND))							@@@@\
d174 2
a175 4
$(DEPEND):								@@@@\
	@@echo "checking $@@ over in $(DEPENDSRC) first..."; \		@@@@\
	cd $(DEPENDSRC) && $(MAKE); \					@@@@\
	echo "okay, continuing in $(CURRENT_DIR)"
d177 8
a184 2
#endif /* UseInstalled */
#endif /* DependDependency */
d186 6
a191 7
/*
 * 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)
d194 1
a194 1
#ifndef DependTarget
d199 1
a199 2
	$(SHELL) $(DEPEND) $(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS)
#endif /* DependTarget */
a200 4
/*
 * DependTarget3 - generate rules to compute dependencies for all files given.
 */
#ifndef DependTarget3
d203 62
d266 14
a279 5
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 */
d281 8
a288 2
#ifdef UseInstalled
#define RmanDependency() /**/
d290 59
a348 2
#define RmanDependency() 						@@@@\
NoCmpScript(ProgramTargetName($(RMAN)))					@@@@\
d350 78
a427 3
ProgramTargetName($(RMAN)):						@@@@\
	@@echo "checking $@@ over in $(TOP)/config/util first..."; \	@@@@\
	echo "okay, continuing in $(CURRENT_DIR)"
d429 1
a429 1
#endif /* UseInstalled */
d431 88
d520 1
a520 1
all::   Concat(subdir,.dir)						@@@@\
a522 1
	RemoveFile(Concat(subdir,.dir))					@@@@\
d525 49
a573 1
InstallTarget(install,Concat(subdir,.dir),$(INSTDATFLAGS),basedir)	@@@@\
d576 2
a577 1
	RemoveFile(Concat(subdir,.dir))
@


1.1.1.5
log
@Import of XFree86 4.4.0.
@
text
@d5 1
a5 1
XCOMM platform:  $XFree86: xc/config/cf/os2.rules,v 3.24 2003/10/21 17:41:44 tsi Exp $
d47 1
a47 1
#define DependDependency()						@@@@\
d54 1
a54 1
	cd $(DEPENDSRC) && $(MAKE) makedependonly; \			@@@@\
d93 1
a93 1
#define RmanDependency()						@@@@\
@


