head	1.1;
branch	1.1.1;
access;
symbols
	netbsd-11-0-RC4:1.1.1.1
	netbsd-11-0-RC3:1.1.1.1
	netbsd-11-0-RC2:1.1.1.1
	netbsd-11-0-RC1:1.1.1.1
	netbsd-11:1.1.1.1.0.30
	netbsd-11-base:1.1.1.1
	netbsd-10-1-RELEASE:1.1.1.1
	netbsd-8-3-RELEASE:1.1.1.1
	netbsd-9-4-RELEASE:1.1.1.1
	netbsd-10-0-RELEASE:1.1.1.1
	netbsd-10-0-RC6:1.1.1.1
	netbsd-10-0-RC5:1.1.1.1
	netbsd-10-0-RC4:1.1.1.1
	netbsd-10-0-RC3:1.1.1.1
	netbsd-10-0-RC2:1.1.1.1
	netbsd-10-0-RC1:1.1.1.1
	xorg-cf-files-1-0-8:1.1.1.1
	netbsd-10:1.1.1.1.0.28
	netbsd-10-base:1.1.1.1
	netbsd-9-3-RELEASE:1.1.1.1
	xorg-cf-files-1-0-7:1.1.1.1
	netbsd-9-2-RELEASE:1.1.1.1
	netbsd-9-1-RELEASE:1.1.1.1
	netbsd-8-2-RELEASE:1.1.1.1
	netbsd-9-0-RELEASE:1.1.1.1
	netbsd-9-0-RC2:1.1.1.1
	netbsd-9-0-RC1:1.1.1.1
	netbsd-9:1.1.1.1.0.26
	netbsd-9-base:1.1.1.1
	netbsd-8-1-RELEASE:1.1.1.1
	netbsd-8-1-RC1:1.1.1.1
	netbsd-7-2-RELEASE:1.1.1.1
	netbsd-8-0-RELEASE:1.1.1.1
	netbsd-8-0-RC2:1.1.1.1
	netbsd-8-0-RC1:1.1.1.1
	netbsd-7-1-2-RELEASE:1.1.1.1
	netbsd-7-1-1-RELEASE:1.1.1.1
	netbsd-8:1.1.1.1.0.24
	netbsd-8-base:1.1.1.1
	netbsd-7-1:1.1.1.1.0.22
	netbsd-7-1-RELEASE:1.1.1.1
	xorg-cf-files-1-0-6:1.1.1.1
	netbsd-7-1-RC2:1.1.1.1
	netbsd-7-1-RC1:1.1.1.1
	netbsd-7-0-2-RELEASE:1.1.1.1
	netbsd-7-0-1-RELEASE:1.1.1.1
	netbsd-7-0:1.1.1.1.0.20
	netbsd-7-0-RELEASE:1.1.1.1
	netbsd-7-0-RC3:1.1.1.1
	netbsd-7-0-RC2:1.1.1.1
	netbsd-7-0-RC1:1.1.1.1
	netbsd-5-2-3-RELEASE:1.1.1.1
	netbsd-5-1-5-RELEASE:1.1.1.1
	netbsd-6-0-6-RELEASE:1.1.1.1
	netbsd-6-1-5-RELEASE:1.1.1.1
	netbsd-7:1.1.1.1.0.18
	netbsd-7-base:1.1.1.1
	netbsd-6-1-4-RELEASE:1.1.1.1
	netbsd-6-0-5-RELEASE:1.1.1.1
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1.1.1
	xorg-cf-files-1-0-5:1.1.1.1
	riastradh-drm2:1.1.1.1.0.16
	riastradh-drm2-base:1.1.1.1
	netbsd-6-1-3-RELEASE:1.1.1.1
	netbsd-6-0-4-RELEASE:1.1.1.1
	netbsd-5-2-2-RELEASE:1.1.1.1
	netbsd-5-1-4-RELEASE:1.1.1.1
	netbsd-6-1-2-RELEASE:1.1.1.1
	netbsd-6-0-3-RELEASE:1.1.1.1
	netbsd-5-2-1-RELEASE:1.1.1.1
	netbsd-5-1-3-RELEASE:1.1.1.1
	netbsd-6-1-1-RELEASE:1.1.1.1
	netbsd-6-1:1.1.1.1.0.14
	netbsd-6-0-2-RELEASE:1.1.1.1
	netbsd-6-1-RELEASE:1.1.1.1
	netbsd-6-1-RC4:1.1.1.1
	netbsd-6-1-RC3:1.1.1.1
	netbsd-6-1-RC2:1.1.1.1
	netbsd-6-1-RC1:1.1.1.1
	netbsd-5-2:1.1.1.1.0.12
	netbsd-6-0-1-RELEASE:1.1.1.1
	netbsd-5-2-RELEASE:1.1.1.1
	netbsd-5-2-RC1:1.1.1.1
	netbsd-6-0:1.1.1.1.0.10
	netbsd-6-0-RELEASE:1.1.1.1
	netbsd-6-0-RC2:1.1.1.1
	netbsd-6-0-RC1:1.1.1.1
	netbsd-6:1.1.1.1.0.8
	netbsd-6-base:1.1.1.1
	netbsd-5-1-2-RELEASE:1.1.1.1
	netbsd-5-1-1-RELEASE:1.1.1.1
	xorg-cf-files-1-0-4:1.1.1.1
	netbsd-5-1:1.1.1.1.0.6
	netbsd-5-1-RELEASE:1.1.1.1
	netbsd-5-1-RC4:1.1.1.1
	netbsd-5-1-RC3:1.1.1.1
	netbsd-5-1-RC2:1.1.1.1
	netbsd-5-1-RC1:1.1.1.1
	netbsd-5-0-2-RELEASE:1.1.1.1
	xorg-cf-files-1-0-3:1.1.1.1
	netbsd-5-0-1-RELEASE:1.1.1.1
	netbsd-5-0:1.1.1.1.0.4
	netbsd-5-0-RELEASE:1.1.1.1
	netbsd-5-0-RC4:1.1.1.1
	netbsd-5-0-RC3:1.1.1.1
	netbsd-5-0-RC2:1.1.1.1
	netbsd-5-0-RC1:1.1.1.1
	netbsd-5:1.1.1.1.0.2
	netbsd-5-base:1.1.1.1
	xorg-cf-files-1-0-2:1.1.1.1
	xorg:1.1.1;
locks; strict;
comment	@# @;


1.1
date	2008.07.30.04.32.48;	author mrg;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2008.07.30.04.32.48;	author mrg;	state Exp;
branches;
next	;


desc
@@


1.1
log
@Initial revision
@
text
@XCOMM platform:  $Xorg: Win32.rules,v 1.3 2000/08/17 19:41:46 cpqbld Exp $




XCOMM $XFree86$

#define HasSharedLibraries YES
#define NeedLibInsideFlag YES
#define SharedLibXaw NO
#define SharedLibXmu NO
#define SharedLibXt NO
#define SharedDataSeparation NO
#define SharedCodeDef /**/
#define SharedLibraryDef /**/
#define ShLibIncludeFile <WinLib.tmpl>
#define SharedLibraryLoadFlags -dll
#define PositionIndependentCFlags /**/

.c.obj:
	$(CC) -c $*.c @@<<
	$(CFLAGS)
<<

#if HasCplusplus
.CCsuf.obj:
	$(CXX) -c $*.CCsuf @@<<
	$(CFLAGS)
<<
#endif

#define ProgramTargetName(target) target.exe

#define RunProgram(progvar,options) $(progvar:/=\) options

#define RemoveFile(file) if exist file $(RM) file

#define RemoveFiles(files) @@$(MAKE) $(MFLAGS) -f <<			@@@@\
.SUFFIXES:								@@@@\
									@@@@\
all: files								@@@@\
	!for %%i in ( Avoid.Error $$** ) do if exist %%i $(RM) %%i	@@@@\
									@@@@\
Avoid.Error files:							@@@@\
<<

#define MakeDir(dir) -$(MKDIRHIER) dir

#define ObjectCompile(options) RemoveFile($@@)				@@@@\
	$(CC) -c $*.c @@<<						@@@@\
	$(CFLAGS) options						@@@@\
<<

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

#define BuildIncludesTop(srclist,dstsubdir,dstupdir)			@@@@\
includes:: srclist							@@@@\
	MakeDir($(BUILDINCDIR:/=\))					@@@@\
	@@$(MAKE) $(MFLAGS) -f <<					@@@@\
.SUFFIXES:								@@@@\
									@@@@\
all: srclist								@@@@\
	cd $(BUILDINCDIR:/=\)						@@@@\
	!RemoveFile($$**)						@@@@\
	!$(LN) $(BUILDINCTOP:/=\)\$(CURRENT_DIR:/=\)\$$** .		@@@@\
									@@@@\
Avoid.Error srclist:							@@@@\
<<

#define BuildIncludes(srclist,dstsubdir,dstupdir)			@@@@\
XVARdef0 = $(BUILDINCDIR)/dstsubdir					@@@@\
XVARdef1 = $(BUILDINCTOP)/dstupdir/$(CURRENT_DIR)			@@@@\
									@@@@\
includes:: srclist							@@@@\
	MakeDir($(XVARuse0:/=\))					@@@@\
	@@$(MAKE) -A $(MFLAGS) -f <<					@@@@\
.SUFFIXES:								@@@@\
									@@@@\
all: srclist								@@@@\
	cd $(XVARuse0:/=\)						@@@@\
	!RemoveFile($$**)						@@@@\
	!$(LN) $(XVARuse1:/=\)\$$** .					@@@@\
									@@@@\
Avoid.Error srclist:							@@@@\
<<

#define LinkFileList(step,list,dir,sub)					@@@@\
XVARdef0 = dir								@@@@\
XVARdef1 = sub								@@@@\
XVARdef2 = list								@@@@\
									@@@@\
step:: $(XVARuse2:/=\)							@@@@\
	cd $(XVARuse0:/=\)						@@@@\
	!RemoveFile($**)						@@@@\
	!$(LN) $(XVARuse1:/=\)\\$** .

#define LinkRule(program,options,objects,libraries) \
$(CCLINK) Concat(-Fe,program) options objects libraries $(EXTRA_LOAD_FLAGS)

#define NormalProgramTarget(program,objects,deplibs,locallibs,syslibs)	@@@@\
XVARdef0 = objects							@@@@\
									@@@@\
ProgramTargetName(program): $(XVARuse0:.o=.obj) deplibs			@@@@\
	RemoveTargetProgram($@@)						@@@@\
	LinkRule($@@,$(LDOPTIONS),$(XVARuse0:.o=.obj),locallibs $(LDLIBS) syslibs) @@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(ProgramTargetName(program))

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

#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::									@@@@\
	for %%i in ($(PROGRAMS)) do $(RM) ProgramTargetName(%%i)

#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 MoveToBakFile(file) -@@if exist file $(MV) file file.bak

#define RMoveToBakFile(file) -RemoveFile(file.bak)			@@@@\
	-@@if exist file $(MV) file file.bak

#define InstallMultipleDestFlags(step,list,dest,flags)			@@@@\
XVARdef0 = $(DESTDIR)dest						@@@@\
									@@@@\
step:: list								@@@@\
	MakeDir($(XVARuse0:/=\))					@@@@\
	!$(INSTALL) $(INSTALLFLAGS) flags $** $(XVARuse0:/=\)

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

#define LibraryTargetName(libname)libname.lib

#define LibraryTargetNameSuffix(libname,suffix)Concat(libname,suffix.lib)

#define MakeLibrary(libname,objlist) $(AR) @@<<				@@@@\
-out:libname objlist							@@@@\
<<

#define LinkSourceFile(src,dir)						@@@@\
XVARdef0 = dir/src							@@@@\
									@@@@\
src:  $(XVARuse0:/=\)							@@@@\
	RemoveFile($@@)							@@@@\
	$(LN) $? $@@							@@@@\
									@@@@\
includes:: src								@@@@\
									@@@@\
depends:: src								@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(src)

#define LinkFile(tofile,fromfile)					@@@@\
XVARdef0 = fromfile							@@@@\
tofile:: $(XVARuse0:/=\)						@@@@\
	RemoveFile($@@)							@@@@\
	$(LN) $? $@@							@@@@\
									@@@@\
includes:: tofile							@@@@\
									@@@@\
depend:: tofile								@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(tofile)


#define	NormalLibraryTarget(libname,objlist)				@@@@\
AllTarget(LibraryTargetName(libname))					@@@@\
									@@@@\
XVARdef0 = objlist							@@@@\
									@@@@\
LibraryTargetName(libname): $(XVARuse0:.o=.obj) $(EXTRALIBRARYDEPS)	@@@@\
	RemoveFile($@@)							@@@@\
	MakeLibrary($@@,$(XVARuse0:.o=.obj))				@@@@\
	LinkBuildLibrary($@@)

#define	NormalLibraryTarget2(libname,objlist1,objlist2)			@@@@\
NormalLibraryTarget(libname,objlist1 objlist2)

#define	NormalLibraryTarget3(libname,objlist1,objlist2,objlist3)	@@@@\
NormalLibraryTarget(libname,objlist1 objlist2 objlist3)

#define	NormalDepLibraryTarget(libname,deplist,objlist)			@@@@\
AllTarget(LibraryTargetName(libname))					@@@@\
									@@@@\
XVARdef0 = deplist							@@@@\
XVARdef1 = objlist							@@@@\
XVARdef2 = $(XVARuse1:/=\)						@@@@\
									@@@@\
LibraryTargetName(libname): $(XVARuse0:/=\) $(EXTRALIBRARYDEPS)		@@@@\
	RemoveFile($@@)							@@@@\
	MakeLibrary($@@,$(XVARuse2:.o=.obj))				@@@@\
	LinkBuildLibrary($@@)

#define	ProfiledLibraryTarget(libname,objlist)				@@@@\
AllTarget(LibraryTargetNameSuffix(libname,_p))				@@@@\
									@@@@\
XVARdef0 = objlist							@@@@\
									@@@@\
LibraryTargetNameSuffix(libname,_p): $(XVARuse0:.o=.obj) $(EXTRALIBRARYDEPS)	@@@@\
	RemoveFile($@@)							@@@@\
	cd profiled							@@@@\
	MakeLibrary(..\$@@,$(XVARuse0:.o=.obj))				@@@@\
	cd ..

#define	DebuggedLibraryTarget(libname,objlist)				@@@@\
AllTarget(LibraryTargetNameSuffix(libname,_d))				@@@@\
									@@@@\
XVARdef0 = objlist							@@@@\
									@@@@\
LibraryTargetNameSuffix(libname,_d): $(XVARuse0:.o=.obj) $(EXTRALIBRARYDEPS)	@@@@\
	RemoveFile($@@)							@@@@\
	cd debugger							@@@@\
	MakeLibrary(..\$@@,$(XVARuse0:.o=.obj))				@@@@\
	cd ..

#ifndef UseInstalled
#define ImakeDependency(target)						@@@@\
target:: ProgramTargetName($(IMAKE))					@@@@\
									@@@@\
ProgramTargetName($(IMAKE)):						@@@@\
	<<tmp.bat							@@@@\
	cd $(IMAKESRC:/=\)						@@@@\
	if exist Makefile $(MAKE) all					@@@@\
	if not exist Makefile $(MAKE) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)" @@@@\
<<
#endif

#ifndef UseInstalled
#define DependDependency() 						@@@@\
depend:: ProgramTargetName($(DEPEND))					@@@@\
									@@@@\
ProgramTargetName($(DEPEND)):						@@@@\
	<<tmp.bat							@@@@\
	cd $(DEPENDSRC:/=\)						@@@@\
	$(MAKE)								@@@@\
<<
#endif

#define	DependTarget()							@@@@\
DependDependency()							@@@@\
									@@@@\
depend::								@@@@\
	$(DEPEND:/=\) @@<<						@@@@\
$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS)		@@@@\
<<

#define	DependTarget3(srcs1,srcs2,srcs3)				@@@@\
DependDependency()							@@@@\
									@@@@\
depend::								@@@@\
	$(DEPEND:/=\) @@<<						@@@@\
$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1 srcs2 srcs3	@@@@\
<<

#define ForceSubdirs(dirs)						@@@@\
Avoid.Error dirs: FRC							@@@@\
	@@cd $@@								@@@@\
	@@echo making all in $(CURRENT_DIR)/$@@...			@@@@\
	$(MAKE) $(MFLAGS) PassCDebugFlags all				@@@@\
	cd ..								@@@@\
									@@@@\
FRC:

#define MakeMakeSubdirs(dirs,target)					@@@@\
XVARdef0 = dirs								@@@@\
XVARdef1 = $$								@@@@\
									@@@@\
target::								@@@@\
	@@$(MAKE) -A $(MFLAGS) -f <<					@@@@\
.SUFFIXES:								@@@@\
									@@@@\
all: $(XVARuse0:/=\)							@@@@\
									@@@@\
Avoid.Error $(XVARuse0:/=\):						@@@@\
	cd $(XVARuse1)@@							@@@@\
	RMoveToBakFile(Makefile)					@@@@\
	ImakeSubCmdHelper -DTOPDIR=../$(TOP) -DCURDIR=$(CURRENT_DIR)/$(XVARuse1)@@ @@@@\
	$(MAKE) $(MFLAGS) Makefiles					@@@@\
	cd ..								@@@@\
<<

#ifdef UseInstalled
# define ImakeSubCmdHelper $(IMAKE_CMD)
#else
# define ImakeSubCmdHelper ..\$(IMAKE) -I../$(IRULESRC) \
			   $(IMAKE_DEFINES) $(IMAKE_WARNINGS)
#endif

#define NamedTargetSubdirs(name,dirs,verb,flags,subname)		@@@@\
XVARdef0 = dirs								@@@@\
XVARdef1 = $$								@@@@\
									@@@@\
name::									@@@@\
	@@$(MAKE) -A $(MFLAGS) -f <<					@@@@\
.SUFFIXES:								@@@@\
									@@@@\
all: $(XVARuse0:/=\)							@@@@\
									@@@@\
Avoid.Error $(XVARuse0:/=\):						@@@@\
	cd $(XVARuse1)@@							@@@@\
	@@echo verb in $(CURRENT_DIR)/$(XVARuse1)@@...			@@@@\
	$(MAKE) $(MFLAGS) flags subname					@@@@\
	cd ..								@@@@\
<<

#define UnsharedLibReferences(varname,libname,libsource)		@@@@\
Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/,libsource/,libname.lib) @@@@\
Concat(varname,LIB) = LoaderLibPrefix _Use(libname.lib,$(Concat3(DEP,varname,LIB))) @@@@\
LintLibReferences(varname,libname,libsource)

#define SharedLibReferences(varname,libname,libsource,revname,rev)	@@@@\
revname = rev								@@@@\
UnsharedLibReferences(varname,libname,libsource)

#define	SubdirLibraryRule(objlist)					@@@@\
XVARdef0 = objlist							@@@@\
									@@@@\
all:: DONE								@@@@\
									@@@@\
DONE: $(XVARuse0:.o=.obj)						@@@@\
	RemoveFile($@@)							@@@@\
	echo - > $@@							@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(DONE)

#define CppScriptTarget(dst,src,defs,deplist)				@@@@\
dst::									@@@@\
	@@echo sorry, unable to make $@@

#define CppFileTarget(dst,src,defs,deplist)				@@@@\
XFAKEVAR = X								@@@@\
dst::  src deplist							@@@@\
	RemoveFile($@@)							@@@@\
	$(PREPROCESSCMD) -I. <<CppTmpFile.c @@<< >$@@			@@@@\
	XCOMM define $(XFAKEVAR)COMM XCOMM				@@@@\
	XCOMM include <src>						@@@@\
<<									@@@@\
	defs								@@@@\
<<									@@@@\
									@@@@\
clean::									@@@@\
	RemoveFiles(dst)

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

#define InstallNamedTargetNoClobber(step,srcname,flags,dest,dstname)	@@@@\
XVARdef0 = $(DESTDIR)dest						@@@@\
									@@@@\
step:: srcname								@@@@\
	MakeDir($(XVARuse0:/=\))					@@@@\
	@@if exist $(XVARuse0:/=\)\\dstname echo Not overwriting existing $(XVARuse0:/=\)\\dstname @@@@\
	if not exist $(XVARuse0:/=\)\\dstname $(INSTALL) $(INSTALLFLAGS) flags srcname $(XVARuse0:/=\)\\dstname


#define	InstallLibrary(libname,dest)					@@@@\
InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),dest)

#define	InstallScript(program,dest) /**/

#define	InstallNamedProg(srcname,dstname,dest)				@@@@\
install:: srcname							@@@@\
	@@echo sorry, unable to install srcname

#define	InstallSharedLibrary(libname,rev,dest)				@@@@\
InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),$(USRLIBDIR)) @@@@\
InstallTarget(install,libname.dll,$(INSTLIBFLAGS),dest)

#define	InstallSharedLibraryData(libname,rev,dest)

#define MakeDLL(libname,solist) $(LD) @@<<				@@@@\
$(SHLIBLDFLAGS) -out:libname.dll libname.exp solist			@@@@\
<<

#define SharedLibraryTarget(libname,rev,solist,down,up)			@@@@\
AllTarget(libname.dll)							@@@@\
									@@@@\
CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@@@\
									@@@@\
XVARdef0 = solist							@@@@\
									@@@@\
LibraryTargetName(libname): $(XVARuse0:.o=.obj) libname.def $(EXTRALIBRARYDEPS)	@@@@\
	RemoveFile($@@)							@@@@\
	MakeLibrary($@@,-def:libname.def $(XVARuse0:.o=.obj))		@@@@\
	LinkBuildLibrary($@@)						@@@@\
									@@@@\
libname.dll: LibraryTargetName(libname) $(EXTRALIBRARYDEPS)		@@@@\
	RemoveFile(libname.dll)						@@@@\
	MakeDLL(libname,$(XVARuse0:.o=.obj) $(REQUIREDLIBS) $(EXTRA_LIBRARIES)) @@@@\
	LinkBuildDLL(libname.dll)					@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(LibraryTargetName(libname))				@@@@\
	RemoveFile(libname.dll)

#define SharedLibraryDataTarget(libname,rev,salist)

#define ObjectCplusplusCompile(options) RemoveFile($@@)			@@@@\
	$(CXX) -c $*.CCsuf @@<<						@@@@\
	$(CFLAGS) options						@@@@\
<<

#define CplusplusLinkRule LinkRule

#define CplusplusProgramTargetHelper ProgramTargetHelper

#ifndef ComplexCplusplusProgramTarget
#define	ComplexCplusplusProgramTarget(program)				@@@@\
        PROGRAM = ProgramTargetName(program)				@@@@\
									@@@@\
AllTarget(ProgramTargetName(program))					@@@@\
									@@@@\
CplusplusProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@@@\
									@@@@\
DependTarget()								@@@@\
LintTarget()								@@@@\
									@@@@\
clean::									@@@@\
	RemoveFile(ProgramTargetName(program))
#endif /* ComplexCplusplusProgramTarget */

#ifndef UseInstalled
# define LinkBuildDLL(binary) MakeDir($(BUILDBINDIR:/=\))		@@@@\
	RemoveFile(Concat($(BUILDBINDIR:/=\)\,binary))			@@@@\
	cd $(BUILDBINDIR:/=\) && $(LN) Concat($(BUILDBINTOP:/=\)\$(CURRENT_DIR:/=\)\,binary) .

# ifdef LinkBuildBinary
#  undef LinkBuildBinary
# endif
# define LinkBuildBinary(binary)					@@@@\
all:: $(BUILDBINDIR)\ProgramTargetName(binary) ProgramTargetName(binary) @@@@\
									@@@@\
$(BUILDBINDIR)\ProgramTargetName(binary): ProgramTargetName(binary)	@@@@\
	MakeDir($(BUILDBINDIR:/=\))					@@@@\
	RemoveFile($(BUILDBINDIR:/=\)\ProgramTargetName(binary)))	@@@@\
	cd $(BUILDBINDIR:/=\) && $(LN) $(BUILDBINTOP:/=\)\$(CURRENT_DIR:/=\)\ProgramTargetName(binary) .

# ifdef LinkBuildLibrary
#  undef LinkBuildLibrary
# endif
# define LinkBuildLibrary(lib) MakeDir($(BUILDLIBDIR:/=\))		@@@@\
	RemoveFile(Concat($(BUILDLIBDIR:/=\)\,lib))			@@@@\
	cd $(BUILDLIBDIR:/=\) && $(LN) Concat($(BUILDLIBTOP:/=\)\$(CURRENT_DIR:/=\)\,lib) .

#endif

#ifndef ProjectUnsharedLibReferences
#define ProjectUnsharedLibReferences(varname,libname,libsource,buildlibdir) @@@@\
Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/lib,buildlibdir/,libname.lib)	@@@@\
Concat(varname,LIB) = $(Concat3(DEP,varname,LIB))			@@@@\
LintLibReferences(varname,libname,libsource)
#endif


/*
 * ServerTargetWithFlags - generate rules to compile, link, and relink a server
 */
#ifndef ServerTargetWithFlags
#define	ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,flags) @@@@\
XVARdef0 = objects							@@@@\
									@@@@\
AllTarget(ProgramTargetName(server))					@@@@\
ProgramTargetName(server): subdirs $(XVARuse0:.o=.obj) libs		@@@@\
	MoveToBakFile($@@)						@@@@\
	LinkRule($@@,$(LDOPTIONS),$(XVARuse0:.o=.obj),libs $(LDLIBS) syslibs) @@@@\
									@@@@\
Concat(load,server):							@@@@\
	MoveToBakFile(ProgramTargetName(server))			@@@@\
	LinkRule(ProgramTargetName(server),$(LDOPTIONS),$(XVARuse0:.o=.obj),libs $(LDLIBS) syslibs) @@@@\
									@@@@\
loadX:: Concat(load,server)						@@@@\
									@@@@\
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 */
@


1.1.1.1
log
@initial import of xorg-cf-files-1.0.2
@
text
@@
