Blame config/cf/Win32.rules

Packit b099d7
XCOMM platform:  $XConsortium: Win32.rules /main/49 1996/12/02 14:12:47 kaleb $
Packit b099d7
Packit b099d7
#define HasSharedLibraries YES
Packit b099d7
#define NeedLibInsideFlag YES
Packit b099d7
#define SharedLibXaw NO
Packit b099d7
#define SharedLibXmu NO
Packit b099d7
#define SharedLibXt NO
Packit b099d7
#define SharedDataSeparation NO
Packit b099d7
#define SharedCodeDef /**/
Packit b099d7
#define SharedLibraryDef /**/
Packit b099d7
#define ShLibIncludeFile <WinLib.tmpl>
Packit b099d7
#define SharedLibraryLoadFlags -dll
Packit b099d7
#define PositionIndependentCFlags /**/
Packit b099d7
Packit b099d7
.c.obj:
Packit b099d7
	$(CC) -c $*.c @<<
Packit b099d7
	$(CFLAGS)
Packit b099d7
<<
Packit b099d7
Packit b099d7
#if HasCplusplus
Packit b099d7
.CCsuf.obj:
Packit b099d7
	$(CXX) -c $*.CCsuf @<<
Packit b099d7
	$(CFLAGS)
Packit b099d7
<<
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#define ProgramTargetName(target) target.exe
Packit b099d7
Packit b099d7
#define RunProgram(progvar,options) $(progvar:/=\) options
Packit b099d7
Packit b099d7
#define RemoveFile(file) if exist file $(RM) file
Packit b099d7
Packit b099d7
#define RemoveFiles(files) @$(MAKE) $(MFLAGS) -f <<			@@\
Packit b099d7
.SUFFIXES:								@@\
Packit b099d7
									@@\
Packit b099d7
all: files								@@\
Packit b099d7
	!for %%i in ( Avoid.Error $$** ) do if exist %%i $(RM) %%i	@@\
Packit b099d7
									@@\
Packit b099d7
Avoid.Error files:							@@\
Packit b099d7
<<
Packit b099d7
Packit b099d7
#define MakeDir(dir) -$(MKDIRHIER) dir
Packit b099d7
Packit b099d7
#define ObjectCompile(options) RemoveFile($@)				@@\
Packit b099d7
	$(CC) -c $*.c @<<						@@\
Packit b099d7
	$(CFLAGS) options						@@\
Packit b099d7
<<
Packit b099d7
Packit b099d7
#define LibObjCompile(dir,options) RemoveFiles($@ dir\$@)		@@\
Packit b099d7
	$(CC) -c  $*.c @<<						@@\
Packit b099d7
	$(CCOPTIONS) $(ALLDEFINES) options				@@\
Packit b099d7
<<									@@\
Packit b099d7
	$(MV) $@ dir\$@
Packit b099d7
Packit b099d7
#define BuildIncludesTop(srclist,dstsubdir,dstupdir)			@@\
Packit b099d7
includes:: srclist							@@\
Packit b099d7
	MakeDir($(BUILDINCDIR:/=\))					@@\
Packit b099d7
	@$(MAKE) $(MFLAGS) -f <<					@@\
Packit b099d7
.SUFFIXES:								@@\
Packit b099d7
									@@\
Packit b099d7
all: srclist								@@\
Packit b099d7
	cd $(BUILDINCDIR:/=\)						@@\
Packit b099d7
	!RemoveFile($$**)						@@\
Packit b099d7
	!$(LN) $(BUILDINCTOP:/=\)\$(CURRENT_DIR:/=\)\$$** .		@@\
Packit b099d7
									@@\
Packit b099d7
Avoid.Error srclist:							@@\
Packit b099d7
<<
Packit b099d7
Packit b099d7
#define BuildIncludes(srclist,dstsubdir,dstupdir)			@@\
Packit b099d7
XVARdef0 = $(BUILDINCDIR)/dstsubdir					@@\
Packit b099d7
XVARdef1 = $(BUILDINCTOP)/dstupdir/$(CURRENT_DIR)			@@\
Packit b099d7
									@@\
Packit b099d7
includes:: srclist							@@\
Packit b099d7
	MakeDir($(XVARuse0:/=\))					@@\
Packit b099d7
	@$(MAKE) -A $(MFLAGS) -f <<					@@\
Packit b099d7
.SUFFIXES:								@@\
Packit b099d7
									@@\
Packit b099d7
all: srclist								@@\
Packit b099d7
	cd $(XVARuse0:/=\)						@@\
Packit b099d7
	!RemoveFile($$**)						@@\
Packit b099d7
	!$(LN) $(XVARuse1:/=\)\$$** .					@@\
Packit b099d7
									@@\
Packit b099d7
Avoid.Error srclist:							@@\
Packit b099d7
<<
Packit b099d7
Packit b099d7
#define LinkFileList(step,list,dir,sub)					@@\
Packit b099d7
XVARdef0 = dir								@@\
Packit b099d7
XVARdef1 = sub								@@\
Packit b099d7
XVARdef2 = list								@@\
Packit b099d7
									@@\
Packit b099d7
step:: $(XVARuse2:/=\)							@@\
Packit b099d7
	cd $(XVARuse0:/=\)						@@\
Packit b099d7
	!RemoveFile($**)						@@\
Packit b099d7
	!$(LN) $(XVARuse1:/=\)\\$** .
Packit b099d7
Packit b099d7
#define LinkRule(program,options,objects,libraries) \
Packit b099d7
$(CCLINK) Concat(-Fe,program) options objects libraries $(EXTRA_LOAD_FLAGS)
Packit b099d7
Packit b099d7
#define NormalProgramTarget(program,objects,deplibs,locallibs,syslibs)	@@\
Packit b099d7
XVARdef0 = objects							@@\
Packit b099d7
									@@\
Packit b099d7
ProgramTargetName(program): $(XVARuse0:.o=.obj) deplibs			@@\
Packit b099d7
	RemoveTargetProgram($@)						@@\
Packit b099d7
	LinkRule($@,$(LDOPTIONS),$(XVARuse0:.o=.obj),locallibs $(LDLIBS) syslibs) @@\
Packit b099d7
									@@\
Packit b099d7
clean::									@@\
Packit b099d7
	RemoveFile(ProgramTargetName(program))
Packit b099d7
Packit b099d7
#define ProgramTargetHelper(program,srcs,objs,deplib,locallib,syslib)	@@\
Packit b099d7
ProgramTargetName(program): $(objs:.o=.obj) $(deplib)			@@\
Packit b099d7
	RemoveTargetProgram($@)						@@\
Packit b099d7
	LinkRule($@,$(LDOPTIONS),$(objs:.o=.obj),locallib $(LDLIBS) syslib) @@\
Packit b099d7
									@@\
Packit b099d7
InstallProgram(program,$(BINDIR))					@@\
Packit b099d7
InstallManPage(program,$(MANDIR))
Packit b099d7
Packit b099d7
#define ComplexProgramTarget(program)					@@\
Packit b099d7
PROGRAM = ProgramTargetName(program)					@@\
Packit b099d7
									@@\
Packit b099d7
AllTarget(ProgramTargetName(program))					@@\
Packit b099d7
									@@\
Packit b099d7
ProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
Packit b099d7
									@@\
Packit b099d7
DependTarget()								@@\
Packit b099d7
LintTarget()								@@\
Packit b099d7
									@@\
Packit b099d7
clean::									@@\
Packit b099d7
	RemoveFile($(PROGRAM))
Packit b099d7
Packit b099d7
#define ComplexProgramTarget_1(program,locallib,syslib)			@@\
Packit b099d7
OBJS = $(OBJS1) $(OBJS2) $(OBJS3)					@@\
Packit b099d7
SRCS = $(SRCS1) $(SRCS2) $(SRCS3)					@@\
Packit b099d7
PROGRAM1 = ProgramTargetName(program)					@@\
Packit b099d7
									@@\
Packit b099d7
AllTarget($(PROGRAM1) $(PROGRAM2) $(PROGRAM3))				@@\
Packit b099d7
									@@\
Packit b099d7
ProgramTargetHelper(program,SRCS1,OBJS1,DEPLIBS1,locallib,syslib)	@@\
Packit b099d7
									@@\
Packit b099d7
DependTarget()								@@\
Packit b099d7
LintTarget()								@@\
Packit b099d7
									@@\
Packit b099d7
clean::									@@\
Packit b099d7
	for %%i in ($(PROGRAMS)) do $(RM) ProgramTargetName(%%i)
Packit b099d7
Packit b099d7
#define ComplexProgramTarget_2(program,locallib,syslib)			@@\
Packit b099d7
PROGRAM2 = ProgramTargetName(program)					@@\
Packit b099d7
									@@\
Packit b099d7
ProgramTargetHelper(program,SRCS2,OBJS2,DEPLIBS2,locallib,syslib)
Packit b099d7
Packit b099d7
#define ComplexProgramTarget_3(program,locallib,syslib)			@@\
Packit b099d7
PROGRAM3 = ProgramTargetName(program)					@@\
Packit b099d7
									@@\
Packit b099d7
ProgramTargetHelper(program,SRCS3,OBJS3,DEPLIBS3,locallib,syslib)
Packit b099d7
Packit b099d7
#define MoveToBakFile(file) -@if exist file $(MV) file file.bak
Packit b099d7
Packit b099d7
#define RMoveToBakFile(file) -RemoveFile(file.bak)			@@\
Packit b099d7
	-@if exist file $(MV) file file.bak
Packit b099d7
Packit b099d7
#define InstallMultipleDestFlags(step,list,dest,flags)			@@\
Packit b099d7
XVARdef0 = $(DESTDIR)dest						@@\
Packit b099d7
									@@\
Packit b099d7
step:: list								@@\
Packit b099d7
	MakeDir($(XVARuse0:/=\))					@@\
Packit b099d7
	!$(INSTALL) $(INSTALLFLAGS) flags $** $(XVARuse0:/=\)
Packit b099d7
Packit b099d7
#define	CleanTarget()							@@\
Packit b099d7
clean::									@@\
Packit b099d7
	RemoveFiles(FilesToClean ExtraFilesToClean)
Packit b099d7
Packit b099d7
#define LibraryTargetName(libname)libname.lib
Packit b099d7
Packit b099d7
#define LibraryTargetNameSuffix(libname,suffix)Concat(libname,suffix.lib)
Packit b099d7
Packit b099d7
#define MakeLibrary(libname,objlist) $(AR) @<<				@@\
Packit b099d7
-out:libname objlist							@@\
Packit b099d7
<<
Packit b099d7
Packit b099d7
#define LinkSourceFile(src,dir)						@@\
Packit b099d7
XVARdef0 = dir/src							@@\
Packit b099d7
									@@\
Packit b099d7
src:  $(XVARuse0:/=\)							@@\
Packit b099d7
	RemoveFile($@)							@@\
Packit b099d7
	$(LN) $? $@							@@\
Packit b099d7
									@@\
Packit b099d7
includes:: src								@@\
Packit b099d7
									@@\
Packit b099d7
depends:: src								@@\
Packit b099d7
									@@\
Packit b099d7
clean::									@@\
Packit b099d7
	RemoveFile(src)
Packit b099d7
Packit b099d7
#define LinkFile(tofile,fromfile)					@@\
Packit b099d7
XVARdef0 = fromfile							@@\
Packit b099d7
tofile:: $(XVARuse0:/=\)						@@\
Packit b099d7
	RemoveFile($@)							@@\
Packit b099d7
	$(LN) $? $@							@@\
Packit b099d7
									@@\
Packit b099d7
includes:: tofile							@@\
Packit b099d7
									@@\
Packit b099d7
depend:: tofile								@@\
Packit b099d7
									@@\
Packit b099d7
clean::									@@\
Packit b099d7
	RemoveFile(tofile)
Packit b099d7
Packit b099d7
Packit b099d7
#define	NormalLibraryTarget(libname,objlist)				@@\
Packit b099d7
AllTarget(LibraryTargetName(libname))					@@\
Packit b099d7
									@@\
Packit b099d7
XVARdef0 = objlist							@@\
Packit b099d7
									@@\
Packit b099d7
LibraryTargetName(libname): $(XVARuse0:.o=.obj) $(EXTRALIBRARYDEPS)	@@\
Packit b099d7
	RemoveFile($@)							@@\
Packit b099d7
	MakeLibrary($@,$(XVARuse0:.o=.obj))				@@\
Packit b099d7
	LinkBuildLibrary($@)
Packit b099d7
Packit b099d7
#define	NormalLibraryTarget2(libname,objlist1,objlist2)			@@\
Packit b099d7
NormalLibraryTarget(libname,objlist1 objlist2)
Packit b099d7
Packit b099d7
#define	NormalLibraryTarget3(libname,objlist1,objlist2,objlist3)	@@\
Packit b099d7
NormalLibraryTarget(libname,objlist1 objlist2 objlist3)
Packit b099d7
Packit b099d7
#define	NormalDepLibraryTarget(libname,deplist,objlist)			@@\
Packit b099d7
AllTarget(LibraryTargetName(libname))					@@\
Packit b099d7
									@@\
Packit b099d7
XVARdef0 = deplist							@@\
Packit b099d7
XVARdef1 = objlist							@@\
Packit b099d7
XVARdef2 = $(XVARuse1:/=\)						@@\
Packit b099d7
									@@\
Packit b099d7
LibraryTargetName(libname): $(XVARuse0:/=\) $(EXTRALIBRARYDEPS)		@@\
Packit b099d7
	RemoveFile($@)							@@\
Packit b099d7
	MakeLibrary($@,$(XVARuse2:.o=.obj))				@@\
Packit b099d7
	LinkBuildLibrary($@)
Packit b099d7
Packit b099d7
#define	ProfiledLibraryTarget(libname,objlist)				@@\
Packit b099d7
AllTarget(LibraryTargetNameSuffix(libname,_p))				@@\
Packit b099d7
									@@\
Packit b099d7
XVARdef0 = objlist							@@\
Packit b099d7
									@@\
Packit b099d7
LibraryTargetNameSuffix(libname,_p): $(XVARuse0:.o=.obj) $(EXTRALIBRARYDEPS)	@@\
Packit b099d7
	RemoveFile($@)							@@\
Packit b099d7
	cd profiled							@@\
Packit b099d7
	MakeLibrary(..\$@,$(XVARuse0:.o=.obj))				@@\
Packit b099d7
	cd ..
Packit b099d7
Packit b099d7
#define	DebuggedLibraryTarget(libname,objlist)				@@\
Packit b099d7
AllTarget(LibraryTargetNameSuffix(libname,_d))				@@\
Packit b099d7
									@@\
Packit b099d7
XVARdef0 = objlist							@@\
Packit b099d7
									@@\
Packit b099d7
LibraryTargetNameSuffix(libname,_d): $(XVARuse0:.o=.obj) $(EXTRALIBRARYDEPS)	@@\
Packit b099d7
	RemoveFile($@)							@@\
Packit b099d7
	cd debugger							@@\
Packit b099d7
	MakeLibrary(..\$@,$(XVARuse0:.o=.obj))				@@\
Packit b099d7
	cd ..
Packit b099d7
Packit b099d7
#ifndef UseInstalled
Packit b099d7
#define ImakeDependency(target)						@@\
Packit b099d7
target:: ProgramTargetName($(IMAKE))					@@\
Packit b099d7
									@@\
Packit b099d7
ProgramTargetName($(IMAKE)):						@@\
Packit b099d7
	<
Packit b099d7
	cd $(IMAKESRC:/=\)						@@\
Packit b099d7
	if exist Makefile $(MAKE) all					@@\
Packit b099d7
	if not exist Makefile $(MAKE) -f Makefile.ini BOOTSTRAPCFLAGS="$(BOOTSTRAPCFLAGS)" @@\
Packit b099d7
<<
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#ifndef UseInstalled
Packit b099d7
#define DependDependency() 						@@\
Packit b099d7
depend:: ProgramTargetName($(DEPEND))					@@\
Packit b099d7
									@@\
Packit b099d7
ProgramTargetName($(DEPEND)):						@@\
Packit b099d7
	<
Packit b099d7
	cd $(DEPENDSRC:/=\)						@@\
Packit b099d7
	$(MAKE)								@@\
Packit b099d7
<<
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#define	DependTarget()							@@\
Packit b099d7
DependDependency()							@@\
Packit b099d7
									@@\
Packit b099d7
depend::								@@\
Packit b099d7
	$(DEPEND:/=\) @<<						@@\
Packit b099d7
$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- $(SRCS)		@@\
Packit b099d7
<<
Packit b099d7
Packit b099d7
#define	DependTarget3(srcs1,srcs2,srcs3)				@@\
Packit b099d7
DependDependency()							@@\
Packit b099d7
									@@\
Packit b099d7
depend::								@@\
Packit b099d7
	$(DEPEND:/=\) @<<						@@\
Packit b099d7
$(DEPENDFLAGS) -- $(ALLDEFINES) $(DEPEND_DEFINES) -- srcs1 srcs2 srcs3	@@\
Packit b099d7
<<
Packit b099d7
Packit b099d7
#define ForceSubdirs(dirs)						@@\
Packit b099d7
Avoid.Error dirs: FRC							@@\
Packit b099d7
	@cd $@								@@\
Packit b099d7
	@echo making all in $(CURRENT_DIR)/$@...			@@\
Packit b099d7
	$(MAKE) $(MFLAGS) PassCDebugFlags all				@@\
Packit b099d7
	cd ..								@@\
Packit b099d7
									@@\
Packit b099d7
FRC:
Packit b099d7
Packit b099d7
#define MakeMakeSubdirs(dirs,target)					@@\
Packit b099d7
XVARdef0 = dirs								@@\
Packit b099d7
XVARdef1 = $$								@@\
Packit b099d7
									@@\
Packit b099d7
target::								@@\
Packit b099d7
	@$(MAKE) -A $(MFLAGS) -f <<					@@\
Packit b099d7
.SUFFIXES:								@@\
Packit b099d7
									@@\
Packit b099d7
all: $(XVARuse0:/=\)							@@\
Packit b099d7
									@@\
Packit b099d7
Avoid.Error $(XVARuse0:/=\):						@@\
Packit b099d7
	cd $(XVARuse1)@							@@\
Packit b099d7
	RMoveToBakFile(Makefile)					@@\
Packit b099d7
	ImakeSubCmdHelper -DTOPDIR=../$(TOP) -DCURDIR=$(CURRENT_DIR)/$(XVARuse1)@ @@\
Packit b099d7
	$(MAKE) $(MFLAGS) Makefiles					@@\
Packit b099d7
	cd ..								@@\
Packit b099d7
<<
Packit b099d7
Packit b099d7
#ifdef UseInstalled
Packit b099d7
# define ImakeSubCmdHelper $(IMAKE_CMD)
Packit b099d7
#else
Packit b099d7
# define ImakeSubCmdHelper ..\$(IMAKE) -I../$(IRULESRC) $(IMAKE_DEFINES)
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#define NamedTargetSubdirs(name,dirs,verb,flags,subname)		@@\
Packit b099d7
XVARdef0 = dirs								@@\
Packit b099d7
XVARdef1 = $$								@@\
Packit b099d7
									@@\
Packit b099d7
name::									@@\
Packit b099d7
	@$(MAKE) -A $(MFLAGS) -f <<					@@\
Packit b099d7
.SUFFIXES:								@@\
Packit b099d7
									@@\
Packit b099d7
all: $(XVARuse0:/=\)							@@\
Packit b099d7
									@@\
Packit b099d7
Avoid.Error $(XVARuse0:/=\):						@@\
Packit b099d7
	cd $(XVARuse1)@							@@\
Packit b099d7
	@echo verb in $(CURRENT_DIR)/$(XVARuse1)@...			@@\
Packit b099d7
	$(MAKE) $(MFLAGS) flags subname					@@\
Packit b099d7
	cd ..								@@\
Packit b099d7
<<
Packit b099d7
Packit b099d7
#define UnsharedLibReferences(varname,libname,libsource)		@@\
Packit b099d7
Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/,libsource/,libname.lib) @@\
Packit b099d7
Concat(varname,LIB) = LoaderLibPrefix _Use(libname.lib,$(Concat3(DEP,varname,LIB))) @@\
Packit b099d7
LintLibReferences(varname,libname,libsource)
Packit b099d7
Packit b099d7
#define SharedLibReferences(varname,libname,libsource,revname,rev)	@@\
Packit b099d7
revname = rev								@@\
Packit b099d7
UnsharedLibReferences(varname,libname,libsource)
Packit b099d7
Packit b099d7
#define	SubdirLibraryRule(objlist)					@@\
Packit b099d7
XVARdef0 = objlist							@@\
Packit b099d7
									@@\
Packit b099d7
all:: DONE								@@\
Packit b099d7
									@@\
Packit b099d7
DONE: $(XVARuse0:.o=.obj)						@@\
Packit b099d7
	RemoveFile($@)							@@\
Packit b099d7
	echo - > $@							@@\
Packit b099d7
									@@\
Packit b099d7
clean::									@@\
Packit b099d7
	RemoveFile(DONE)
Packit b099d7
Packit b099d7
#define CppScriptTarget(dst,src,defs,deplist)				@@\
Packit b099d7
dst::									@@\
Packit b099d7
	@echo sorry, unable to make $@
Packit b099d7
Packit b099d7
#define CppFileTarget(dst,src,defs,deplist)				@@\
Packit b099d7
XFAKEVAR = X								@@\
Packit b099d7
dst::  src deplist							@@\
Packit b099d7
	RemoveFile($@)							@@\
Packit b099d7
	$(PREPROCESSCMD) -I. <<CppTmpFile.c @<< >$@			@@\
Packit b099d7
	XCOMM define $(XFAKEVAR)COMM XCOMM				@@\
Packit b099d7
	XCOMM include <src>						@@\
Packit b099d7
<<									@@\
Packit b099d7
	defs								@@\
Packit b099d7
<<									@@\
Packit b099d7
									@@\
Packit b099d7
clean::									@@\
Packit b099d7
	RemoveFiles(dst)
Packit b099d7
Packit b099d7
#define InstallNamedTarget(step,srcname,flags,dest,dstname)		@@\
Packit b099d7
XVARdef0 = $(DESTDIR)dest						@@\
Packit b099d7
									@@\
Packit b099d7
step:: srcname								@@\
Packit b099d7
	MakeDir($(XVARuse0:/=\))					@@\
Packit b099d7
	$(INSTALL) $(INSTALLFLAGS) flags srcname $(XVARuse0:/=\)\\dstname
Packit b099d7
Packit b099d7
#define InstallNamedTargetNoClobber(step,srcname,flags,dest,dstname)	@@\
Packit b099d7
XVARdef0 = $(DESTDIR)dest						@@\
Packit b099d7
									@@\
Packit b099d7
step:: srcname								@@\
Packit b099d7
	MakeDir($(XVARuse0:/=\))					@@\
Packit b099d7
	@if exist $(XVARuse0:/=\)\\dstname echo Not overwriting existing $(XVARuse0:/=\)\\dstname @@\
Packit b099d7
	if not exist $(XVARuse0:/=\)\\dstname $(INSTALL) $(INSTALLFLAGS) flags srcname $(XVARuse0:/=\)\\dstname
Packit b099d7
Packit b099d7
Packit b099d7
#define	InstallLibrary(libname,dest)					@@\
Packit b099d7
InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),dest)
Packit b099d7
Packit b099d7
#define	InstallScript(program,dest) /**/
Packit b099d7
Packit b099d7
#define	InstallNamedProg(srcname,dstname,dest)				@@\
Packit b099d7
install:: srcname							@@\
Packit b099d7
	@echo sorry, unable to install srcname
Packit b099d7
Packit b099d7
#define	InstallSharedLibrary(libname,rev,dest)				@@\
Packit b099d7
InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),$(USRLIBDIR)) @@\
Packit b099d7
InstallTarget(install,libname.dll,$(INSTLIBFLAGS),dest)
Packit b099d7
Packit b099d7
#define	InstallSharedLibraryData(libname,rev,dest)
Packit b099d7
Packit b099d7
#define MakeDLL(libname,solist) $(LD) @<<				@@\
Packit b099d7
SharedLibraryLoadFlags -out:libname.dll libname.exp solist		@@\
Packit b099d7
<<
Packit b099d7
Packit b099d7
#define SharedLibraryTarget(libname,rev,solist,down,up)			@@\
Packit b099d7
AllTarget(libname.dll)							@@\
Packit b099d7
									@@\
Packit b099d7
CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\
Packit b099d7
									@@\
Packit b099d7
XVARdef0 = solist							@@\
Packit b099d7
									@@\
Packit b099d7
LibraryTargetName(libname): $(XVARuse0:.o=.obj) libname.def $(EXTRALIBRARYDEPS)	@@\
Packit b099d7
	RemoveFile($@)							@@\
Packit b099d7
	MakeLibrary($@,-def:libname.def $(XVARuse0:.o=.obj))		@@\
Packit b099d7
	LinkBuildLibrary($@)						@@\
Packit b099d7
	RemoveFile(libname.dll)						@@\
Packit b099d7
	MakeDLL(libname,$(XVARuse0:.o=.obj) $(REQUIREDLIBS) $(EXTRA_LIBRARIES)) @@\
Packit b099d7
	LinkBuildDLL(libname.dll)					@@\
Packit b099d7
									@@\
Packit b099d7
libname.dll: LibraryTargetName(libname) $(EXTRALIBRARYDEPS)		@@\
Packit b099d7
	RemoveFile(libname.dll)						@@\
Packit b099d7
	MakeDLL(libname,$(XVARuse0:.o=.obj) $(REQUIREDLIBS) $(EXTRA_LIBRARIES)) @@\
Packit b099d7
	LinkBuildDLL(libname.dll)					@@\
Packit b099d7
									@@\
Packit b099d7
clean::									@@\
Packit b099d7
	RemoveFile(LibraryTargetName(libname))				@@\
Packit b099d7
	RemoveFile(libname.dll)
Packit b099d7
Packit b099d7
#define SharedLibraryDataTarget(libname,rev,salist)
Packit b099d7
Packit b099d7
#define ObjectCplusplusCompile(options) RemoveFile($@)			@@\
Packit b099d7
	$(CXX) -c $*.CCsuf @<<						@@\
Packit b099d7
	$(CFLAGS) options						@@\
Packit b099d7
<<
Packit b099d7
Packit b099d7
#define CplusplusLinkRule LinkRule
Packit b099d7
Packit b099d7
#define CplusplusProgramTargetHelper ProgramTargetHelper
Packit b099d7
Packit b099d7
#ifndef ComplexCplusplusProgramTarget
Packit b099d7
#define	ComplexCplusplusProgramTarget(program)				@@\
Packit b099d7
        PROGRAM = ProgramTargetName(program)				@@\
Packit b099d7
									@@\
Packit b099d7
AllTarget(ProgramTargetName(program))					@@\
Packit b099d7
									@@\
Packit b099d7
CplusplusProgramTargetHelper(program,SRCS,OBJS,DEPLIBS,$(LOCAL_LIBRARIES),NullParameter) @@\
Packit b099d7
									@@\
Packit b099d7
DependTarget()								@@\
Packit b099d7
LintTarget()								@@\
Packit b099d7
									@@\
Packit b099d7
clean::									@@\
Packit b099d7
	RemoveFile(ProgramTargetName(program))
Packit b099d7
#endif /* ComplexCplusplusProgramTarget */
Packit b099d7
Packit b099d7
#ifndef UseInstalled
Packit b099d7
# define LinkBuildDLL(binary) MakeDir($(BUILDBINDIR:/=\))		@@\
Packit b099d7
	RemoveFile(Concat($(BUILDBINDIR:/=\)\,binary))			@@\
Packit b099d7
	cd $(BUILDBINDIR:/=\) && $(LN) Concat($(BUILDBINTOP:/=\)\$(CURRENT_DIR:/=\)\,binary) .
Packit b099d7
Packit b099d7
# ifdef LinkBuildBinary
Packit b099d7
#  undef LinkBuildBinary
Packit b099d7
# endif
Packit b099d7
# define LinkBuildBinary(binary)					@@\
Packit b099d7
all:: $(BUILDBINDIR)\ProgramTargetName(binary) ProgramTargetName(binary) @@\
Packit b099d7
									@@\
Packit b099d7
$(BUILDBINDIR)\ProgramTargetName(binary): ProgramTargetName(binary)	@@\
Packit b099d7
	MakeDir($(BUILDBINDIR:/=\))					@@\
Packit b099d7
	RemoveFile($(BUILDBINDIR:/=\)\ProgramTargetName(binary)))	@@\
Packit b099d7
	cd $(BUILDBINDIR:/=\) && $(LN) $(BUILDBINTOP:/=\)\$(CURRENT_DIR:/=\)\ProgramTargetName(binary) .
Packit b099d7
Packit b099d7
# ifdef LinkBuildLibrary
Packit b099d7
#  undef LinkBuildLibrary
Packit b099d7
# endif
Packit b099d7
# define LinkBuildLibrary(lib) MakeDir($(BUILDLIBDIR:/=\))		@@\
Packit b099d7
	RemoveFile(Concat($(BUILDLIBDIR:/=\)\,lib))			@@\
Packit b099d7
	cd $(BUILDLIBDIR:/=\) && $(LN) Concat($(BUILDLIBTOP:/=\)\$(CURRENT_DIR:/=\)\,lib) .
Packit b099d7
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#ifndef ProjectUnsharedLibReferences
Packit b099d7
#define ProjectUnsharedLibReferences(varname,libname,libsource,buildlibdir) @@\
Packit b099d7
Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/lib,buildlibdir/,libname.lib)	@@\
Packit b099d7
Concat(varname,LIB) = $(Concat3(DEP,varname,LIB))			@@\
Packit b099d7
LintLibReferences(varname,libname,libsource)
Packit b099d7
#endif
Packit b099d7
Packit b099d7
Packit b099d7
/*
Packit b099d7
 * ServerTargetWithFlags - generate rules to compile, link, and relink a server
Packit b099d7
 */
Packit b099d7
#ifndef ServerTargetWithFlags
Packit b099d7
#define	ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,flags) @@\
Packit b099d7
XVARdef0 = objects							@@\
Packit b099d7
									@@\
Packit b099d7
AllTarget(ProgramTargetName(server))					@@\
Packit b099d7
ProgramTargetName(server): subdirs $(XVARuse0:.o=.obj) libs		@@\
Packit b099d7
	MoveToBakFile($@)						@@\
Packit b099d7
	LinkRule($@,$(LDOPTIONS),$(XVARuse0:.o=.obj),libs $(LDLIBS) syslibs) @@\
Packit b099d7
									@@\
Packit b099d7
Concat(load,server):							@@\
Packit b099d7
	MoveToBakFile(ProgramTargetName(server))			@@\
Packit b099d7
	LinkRule(ProgramTargetName(server),$(LDOPTIONS),$(XVARuse0:.o=.obj),libs $(LDLIBS) syslibs) @@\
Packit b099d7
									@@\
Packit b099d7
loadX:: Concat(load,server)						@@\
Packit b099d7
									@@\
Packit b099d7
ProofProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\
Packit b099d7
ProofLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\
Packit b099d7
									@@\
Packit b099d7
InstallProgramWithFlags(server,$(BINDIR),flags)				@@\
Packit b099d7
									@@\
Packit b099d7
clean::									@@\
Packit b099d7
	RemoveFile(ProgramTargetName(server))
Packit b099d7
#endif /* ServerTargetWithFlags */