summaryrefslogtreecommitdiff
path: root/util/cf/Win32.rules
diff options
context:
space:
mode:
authorMatthieu Herrb <matthieu@cvs.openbsd.org>2006-11-25 16:16:48 +0000
committerMatthieu Herrb <matthieu@cvs.openbsd.org>2006-11-25 16:16:48 +0000
commit3f58440c73fee49a1cbf3a9f47ba06592f33208b (patch)
tree1a39da9e217885b74c9c0f09e6431bb66a2c0a32 /util/cf/Win32.rules
parent7b467928c509058d60342a08c51c85693cdfa281 (diff)
import from X.Org 7.2RC2
Diffstat (limited to 'util/cf/Win32.rules')
-rw-r--r--util/cf/Win32.rules531
1 files changed, 531 insertions, 0 deletions
diff --git a/util/cf/Win32.rules b/util/cf/Win32.rules
new file mode 100644
index 000000000..f284ad207
--- /dev/null
+++ b/util/cf/Win32.rules
@@ -0,0 +1,531 @@
+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 */