|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: I T
Length: 25161 (0x6249)
Types: TextFile
Names: »Imake.rules-ada«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00
└─⟦0c20f784e⟧ »DATA«
└─⟦1abbe589f⟧
└─⟦dfeb830e8⟧
└─⟦this⟧ »rev6-0-0/tools/config/Imake.rules-ada«
/**/###########################################################################
/**/# Imake rules for building ADA libraries, programs, scripts, and data files
/**/# rules: $Rational: Imake.ada-rules,v 1.0 90/05/17 GEB $
/*
* MACHINE-INDEPENDENT RULES; DO NOT MODIFY
*
* Warning, when defining rules: make sure you don't include both a trailing
* backslash and double ampersand backslash or else you will get an extra
* backslash in the Makefile.
*
* These macros are defined for the various templates and Imakefiles (for a
* list of the applicable make variables, see the template files):
*
* The general linking for building programs is:
*
* program-objects programlibs syslibs EXTRA_LIBRARIES systemlibs \
* EXTRA_LOAD_FLAGS
*
* where programlibs is LOCAL_LIBRARIES for ComplexProgramTarget
* and EXTRA comes with syslibs from the LDLIBS
*/
/*
* AdaParameterize - generate rules to locate all unparameterized Ada source
* files and to parameterize them.
*/
#ifndef AdaParameterize
#define AdaParameterize() @@\
AdaParamDependency(param) @@\
@@\
param:: @@\
find . \( -name '*.FNS' -o -name '*.FNB' -o -name '*.PRS' -o \ @@\
-name '*.PRB' -o -name '*.PKS' -o -name '*.PKB' -o \ @@\
-name '*.FNG' -o -name '*.PRG' -o -name '*.PKG' \) \ @@\
-exec $(ADAPARAM) -x \{} -p '$(ADAPARAMOPTIONS)' \; @@\
@@\
reparam:: @@\
for i in $(ADASRCS) ; \ @@\
do \ @@\
$(ADAPARAM) $$i -p '$(ADAPARAMOPTIONS)' ; \ @@\
done @@\
@@\
normalize:: @@\
for i in $(ADASRCS) ; \ @@\
do \ @@\
$(ADAPARAM) -n $$i -p '$(ADAPARAMOPTIONS)' ; \ @@\
done
#endif /* AdaParameterize */
/*
* AdaParamDependency - generate rules to compile ada-param if this Imakefile
* is within the Ada source tree.
*/
#ifndef AdaParamDependency
#ifdef UseInstalled
#define AdaParamDependency(target) /**/
#else
#define AdaParamDependency(target) @@\
target:: $(ADAPARAM) @@\
@@\
$(ADAPARAM): @@\
@cd $(ADAPARAMSRC); \ @@\
echo "checking $@ in $(ADAPARAMSRC) first..."; $(MAKE) all @@\
@echo "okay, continuing in $(CURRENT_DIR)"
#endif /* UseInstalled */
#endif /* AdaParamDependency */
/*
* AdaWorkingLibrary - generate rules to create the $(ADAWORKING) files and
* directories.
* (The use of "awk" in the .sub target below is because the TeleSoft acr
* program doesn't know enough to return an error code when it gets/gives
* a fatal error. If it produces *any* output then it barfed and died.)
*/
#ifndef AdaWorkingLibrary
#define AdaWorkingLibrary(stem) @@\
stem.obj: @@\
$(RM) -r stem.obj stem.sub @@\
$(ADACRLIB) $(ADACRFLAGS) stem | \ @@\
awk '/./ { print ; exit 1; } @@\
@@\
stem.sub: @@\
@echo "Library stem created." @@\
@@\
stem.obk: @@\
mkdir stem.obk @@\
@@\
clean:: @@\
$(RM) -r stem.sub stem.obj stem.obk
#endif /* AdaWorkingLibrary */
/*
* AdaWorkingLibraryFile - generate rules to create the $(ADAWORKING) file.
*/
#ifndef AdaWorkingLibraryFile
#define AdaWorkingLibraryFile(name,parts) @@\
name: @@\
$(CP) /dev/null name @@\
for i in parts ; \ @@\
do \ @@\
echo Name\: $$i >> name ; \ @@\
done @@\
@@\
clean:: @@\
$(RM) name
#endif /* AdaWorkingLibraryFile */
/*
*/
#ifndef AdaLoadProgram
#define AdaLoadProgram(program,adaunit,sources,localdeps,locallibs,syslibs) @@\
program: Makefile.dep @@\
program: $(ADALIBDEPS) $(ADAWORKINGNAMES) sources localdeps @@\
$(RM) program @@\
$(MAKE) $(MFLAGS) -f Makefile.dep program \ @@\
COMMAND='$(ADACOM) $(ADACOMFLAGS)' RM='$(RM)' @@\
touch program @@\
@@\
load.program: $(ADALIBDEPS) $(ADAWORKINGNAMES) sources localdeps @@\
$(ADALD) -o program $(ADALDFLAGS) \ @@\
-p "locallibs $(LDLIBS) syslibs $(EXTRA_LOAD_FLAGS)" adaunit @@\
@@\
clean:: @@\
$(RM) program
#endif /* AdaLoadProgram */
/*
* AdaNormalProgramTarget - generate rules to compile and link the indicated
* program; since it does not use any default object files, it may be used for
* multiple programs in the same Imakefile.
*/
#ifndef AdaNormalProgramTarget
#define AdaNormalProgramTarget(program,adaunit,sources,localdeps,locallibs,syslibs)@@\
AllTarget(program) @@\
AdaLoadProgram(program,adaunit,sources,localdeps,locallibs,syslibs) @@\
AdaDependObk(program,sources,$(ADAWORKINGSTEM))
#endif /* AdaNormalProgramTarget */
/*
* AdaNormalTestingTarget - generate rules to compile and link the indicated
* program; since it does not use any default object files, it may be used for
* multiple programs in the same Imakefile.
*/
#ifndef AdaNormalTestingTarget
#define AdaNormalTestingTarget(program,adaunit,sources,localdeps,locallibs,syslibs)@@\
AdaLoadProgram(program,adaunit,sources,localdeps,locallibs,syslibs) @@\
AdaSimpleDependObk(program,sources,$(ADAWORKINGSTEM))
#endif /* AdaNormalTestingTarget */
/*
* SimpleProgramTarget - generate rules for compiling and linking programs
* that only have one C source file. It should only be used in Imakefiles
* that describe a single program.
*/
#ifndef AdaSimpleProgramTarget
#define AdaSimpleProgramTarget(program,adaunit,source) @@\
ADASRCS = source @@\
@@\
AdaComplexProgramTarget(program,adaunit)
#endif /* AdaSimpleProgramTarget */
/*
* AdaComplexLibraryTarget - generate rules for compiling the library units
* specified by $(ADASRCS) and installing the library. It should only be used
* in Imakefiles that describe a single library.
*/
#ifndef AdaComplexLibraryTarget
#define AdaComplexLibraryTarget(library) @@\
@@\
AllTarget(library) @@\
@@\
load.library: @@\
library: Makefile.dep @@\
library: $(ADALIBDEPS) $(ADASRCS) @@\
$(MAKE) $(MFLAGS) -f Makefile.dep library \ @@\
COMMAND='$(ADACOM) $(ADACOMFLAGS)' RM='$(RM)' @@\
@@\
AdaInstallLibrary($(ADAWORKINGSTEM),$(ADALIBDIR)) @@\
@@\
AdaDependObk(library,$(ADASRCS),$(ADAWORKINGSTEM)) @@\
AdaDependTarget($(ADAWORKINGSTEM))
#endif /* AdaComplexLibraryTarget */
/*
* AdaComplexTestingLibrary - generate rules for compiling the library units
* specified by $(ADASRCS). The library is never installed because it exists
* solely for debugging/testing purposes. It should only be used
* in Imakefiles that describe a single library.
*/
#ifndef AdaComplexTestingLibrary
#define AdaComplexTestingLibrary(library) @@\
@@\
AllTarget(library) @@\
@@\
load.library: @@\
library: Makefile.dep @@\
library: $(ADALIBDEPS) $(ADASRCS) @@\
$(MAKE) $(MFLAGS) -f Makefile.dep library \ @@\
COMMAND='$(ADACOM) $(ADACOMFLAGS)' RM='$(RM)' @@\
@@\
AdaDependObk(library,$(ADASRCS),$(ADAWORKINGSTEM)) @@\
AdaDependTarget($(ADAWORKINGSTEM))
#endif /* AdaComplexTestingLibrary */
/*
* AdaComplexLibraryTargetPart0 - generate rules for compiling the library
* units specified by all $(ADASRCnnS) and installing the library. It should
* only be used in Imakefiles that describe a single library that is too big
* to fit into a single Ada librarian library.
*
* This is the guy that is the "main" target of the full library build.
*/
#ifndef AdaComplexLibraryTargetPart0
#define AdaComplexLibraryTargetPart0(library,parts) @@\
@@\
ADASRCS = $(ADASRC1) $(ADASRC2) $(ADASRC3) @@\
ADALIBDEPS = $(ADAWORKING) \ @@\
$(ADAWORKING1) $(ADAWORKING2) $(ADAWORKING3) \ @@\
$(ADAWORKINGLIB1) $(ADAWORKINGLIB2) $(ADAWORKINGLIB3) \@@\
$(ADAEXTERNALLIB) @@\
@@\
AllTarget(library) @@\
@@\
library: parts @@\
@@\
AdaDependTarget($(ADAWORKINGSTEM1))
#endif /* AdaComplexLibraryTargetPart0 */
/*
* AdaComplexLibraryTargetPart1 - generate rules for compiling the library
* units specified by $(ADASRC1) and installing the library. It should only
* be used in Imakefiles that describe a single library.
*
* This is the "innermost" or the first-to-build part of the full build.
*/
#ifndef AdaComplexLibraryTargetPart1
#define AdaComplexLibraryTargetPart1(part1,libfile) @@\
@@\
ADALIBDEPS1 = $(ADAWORKING1) $(ADAWORKINGLIB1) $(ADAEXTERNALLIB) @@\
ADAWORKINGSTEM = $(ADAWORKINGSTEM1) @@\
@@\
AllTarget(part1) @@\
@@\
load.part1: @@\
part1: Makefile.dep @@\
part1: $(ADALIBDEPS1) $(ADASRC1) @@\
$(MAKE) $(MFLAGS) -f Makefile.dep part1 \ @@\
COMMAND='$(ADACOM) $(ADACOMFLAGS1)' RM='$(RM)' @@\
@@\
AdaInstallLibrary($(ADAWORKINGSTEM1),$(ADALIBDIR)) @@\
AdaDependObk(part1,$(ADASRC1),$(ADAWORKINGSTEM1)) @@\
AdaWorkingLibraryFile(libfile,$(ADAWORKINGNAMES1))
#endif /* AdaComplexLibraryTargetPart1 */
/*
* AdaComplexLibraryTargetPart2 - generate rules for compiling the library
* units specified by $(ADASRC1) and installing the library. It should only
* be used in Imakefiles that describe a single library.
*
* This is the 2nd from the "innermost" or first-to-build part of the full
* library build.
*/
#ifndef AdaComplexLibraryTargetPart2
#define AdaComplexLibraryTargetPart2(part2,libfile,part1) @@\
@@\
ADALIBDEPS2 = $(ADAWORKING1) $(ADAWORKING2) \ @@\
$(ADAWORKINGLIB1) $(ADAWORKINGLIB2) $(ADAEXTERNALLIB) @@\
ADAWORKINGSTEM = $(ADAWORKINGSTEM2) @@\
@@\
AllTarget(part2) @@\
@@\
load.part2: @@\
part2: part1 Makefile.dep @@\
part2: $(ADALIBDEPS2) $(ADASRC2) @@\
$(MAKE) $(MFLAGS) -f Makefile.dep part2 \ @@\
COMMAND='$(ADACOM) $(ADACOMFLAGS2)' RM='$(RM)' @@\
@@\
AdaInstallLibrary($(ADAWORKINGSTEM2),$(ADALIBDIR)) @@\
AdaDependObk(part2,$(ADASRC2),$(ADAWORKINGSTEM2)) @@\
AdaWorkingLibraryFile(libfile,$(ADAWORKINGNAMES2)) @@\
AdaWorkingLibrary($(ADAWORKINGSTEM1))
#endif /* AdaComplexLibraryTargetPart2 */
/*
* AdaComplexLibraryTargetPart3 - generate rules for compiling the library
* units specified by $(ADASRC3) and installing the library. It should only
* be used in Imakefiles that describe a single library.
*
* This is the 3rd from the "innermost" or first-to-build part of the full
* library build.
*/
#ifndef AdaComplexLibraryTargetPart3
#define AdaComplexLibraryTargetPart3(part3,libfile,part2) @@\
@@\
ADALIBDEPS3 = $(ADAWORKING1) $(ADAWORKING2) $(ADAWORKING3) \ @@\
$(ADAWORKINGLIB1) $(ADAWORKINGLIB2) $(ADAWORKINGLIB3)\@@\
$(ADAEXTERNALLIB) @@\
ADAWORKINGSTEM = $(ADAWORKINGSTEM3) @@\
@@\
AllTarget(part3) @@\
@@\
load.part3: @@\
part3: part2 Makefile.dep @@\
part3: $(ADALIBDEPS3) $(ADASRC3) @@\
$(MAKE) $(MFLAGS) -f Makefile.dep part3 \ @@\
COMMAND='$(ADACOM) $(ADACOMFLAGS3)' RM='$(RM)' @@\
@@\
AdaInstallLibrary($(ADAWORKINGSTEM3),$(ADALIBDIR)) @@\
AdaDependObk(part3,$(ADASRC3),$(ADAWORKINGSTEM3)) @@\
AdaWorkingLibraryFile(libfile,$(ADAWORKINGNAMES3)) @@\
AdaWorkingLibrary($(ADAWORKINGSTEM2))
#endif /* AdaComplexLibraryTargetPart3 */
/*
* AdaComplexProgramTarget - generate rules for compiling and linking the
* program specified by $(ADASOBJS) and $(ADASRCS), installing the program
* and its man page, and generating dependencies. It should only be used in
* Imakefiles that describe a single program.
*/
#ifndef AdaComplexProgramTarget
#define AdaComplexProgramTarget(program,adaunit,localdeps,locallibs,syslibs)@@\
PROGRAM = program @@\
@@\
AllTarget(program) @@\
AdaLoadProgram(program,adaunit,$(ADASRCS),localdeps,locallibs,syslibs) @@\
InstallProgramWithFlags(program,$(ADABINDIR),$(INSTBINFLAGS)) @@\
InstallManPage(program,$(MANDIR)) @@\
AdaDependObk(program,$(ADASRCS),$(ADAWORKINGSTEM)) @@\
AdaDependTarget($(ADAWORKINGSTEM))
#endif /* AdaComplexProgramTarget */
/*
* AdaComplexProgramTarget_1 - generate rules for compiling and linking the
* program specified by $(ADASRCS1), installing the program
* and its man page, and generating dependencies for it and any programs
* described by $(ADASRCS2) and $(ADASRCS3). It should be used to build the
* primary program in Imakefiles that describe multiple programs.
*/
#ifndef AdaComplexProgramTarget_1
#define AdaComplexProgramTarget_1(program,adaunit,localdeps,locallibs,syslibs)@@\
ADASRCS = $(ADASRCS1) $(ADASRCS2) $(ADASRCS3) @@\
@@\
AllTarget(program) @@\
AdaLoadProgram(program,adaunit,$(ADASRCS1),localdeps,locallibs,syslibs) @@\
InstallProgramWithFlags(program,$(ADABINDIR),$(INSTBINFLAGS)) @@\
InstallManPage(program,$(MANDIR)) @@\
AdaDependObk(program,$(ADASRCS1),$(ADAWORKINGSTEM)) @@\
AdaDependTarget($(ADAWORKINGSTEM))
#endif /* AdaComplexProgramTarget_1 */
/*
* AdaComplexProgramTarget_2 - generate rules for compiling and linking the
* program specified by $(ADASRCS2) and installing the program
* and man page. It should be used to build the second program in Imakefiles
* describing more than one program.
*/
#ifndef AdaComplexProgramTarget_2
#define AdaComplexProgramTarget_2(program,adaunit,localdeps,locallibs,syslibs)@@\
AllTarget(program) @@\
AdaLoadProgram(program,adaunit,$(ADASRCS2),localdeps,locallibs,syslibs) @@\
InstallProgramWithFlags(program,$(ADABINDIR),$(INSTBINFLAGS)) @@\
InstallManPage(program,$(MANDIR)) @@\
AdaDependObk(program,$(ADASRCS2),$(ADAWORKINGSTEM))
#endif /* AdaComplexProgramTarget_2 */
/*
* AdaComplexProgramTarget_3 - generate rules for compiling and linking the
* program specified by $(ADASRCS3) and installing the program
* and man page. It should be used to build the third program in Imakefiles
* describing more than one program.
*/
#ifndef AdaComplexProgramTarget_3
#define AdaComplexProgramTarget_3(program,adaunit,localdeps,locallibs,syslibs)@@\
AllTarget(program) @@\
AdaLoadProgram(program,adaunit,$(ADASRCS3),localdeps,locallibs,syslibs) @@\
InstallProgramWithFlags(program,$(ADABINDIR),$(INSTBINFLAGS)) @@\
InstallManPage(program,$(MANDIR)) @@\
AdaDependObk(program,$(ADASRCS3),$(ADAWORKINGSTEM))
#endif /* AdaComplexProgramTarget_3 */
/*
* AdaComplexTestingTarget_1 - generate rules for compiling and linking the
* program specified by $(ADASRCS1). The program is not
* installed; it is for debugging/local use. It has no man page.
* Generate dependencies for it and any programs
* described by $(ADASRCS2) and $(ADASRCS3). This should be used to build the
* primary program in Imakefiles that describe multiple programs.
*/
#ifndef AdaComplexTestingTarget_1
#define AdaComplexTestingTarget_1(program,adaunit,localdeps,locallibs,syslibs)@@\
ADASRCS = $(ADASRCS1) $(ADASRCS2) $(ADASRCS3) @@\
@@\
AllTarget(program) @@\
AdaLoadProgram(program,adaunit,$(ADASRCS1),localdeps,locallibs,syslibs) @@\
AdaDependObk(program,$(ADASRCS1),$(ADAWORKINGSTEM)) @@\
AdaDependTarget($(ADAWORKINGSTEM))
#endif /* AdaComplexTestingTarget_1 */
/*
* AdaComplexTestingTarget_2 - generate rules for compiling and linking the
* program specified by $(ADASRCS2). The program is not
* installed and it has no man page. This should be used to build the second
* program in Imakefiles describing more than one program.
*/
#ifndef AdaComplexTestingTarget_2
#define AdaComplexTestingTarget_2(program,adaunit,localdeps,locallibs,syslibs)@@\
AllTarget(program) @@\
AdaLoadProgram(program,adaunit,$(ADASRCS2),localdeps,locallibs,syslibs) @@\
AdaDependObk(program,$(ADASRCS2),$(ADAWORKINGSTEM))
#endif /* AdaComplexTestingTarget_2 */
/*
* AdaComplexTestingTarget_3 - generate rules for compiling and linking the
* program specified by $(ADASRCS2) and $(ADASRCS2). The program is not
* installed and it has no man page. This should be used to build the third
* program in Imakefiles describing more than one program.
*/
#ifndef AdaComplexTestingTarget_3
#define AdaComplexTestingTarget_3(program,adaunit,localdeps,locallibs,syslibs)@@\
AllTarget(program) @@\
AdaLoadProgram(program,adaunit,$(ADASRCS3),localdeps,locallibs,syslibs) @@\
AdaDependObk(program,$(ADASRCS3),$(ADAWORKINGSTEM))
#endif /* AdaComplexTestingTarget_3 */
/*
* AdaInstallLibrary - generate rules to install the indicated library.
*/
#ifndef AdaInstallLibrary
#define AdaInstallLibrary(adalibname,dest) @@\
install:: @@\
$(RM) -r dest/adalibname.sub dest/adalibname.obj @@\
tar cBf - adalibname.sub adalibname.obj | \ @@\
( cd dest ; tar xBf - ) @@\
chmod -fR `echo $(INSTLIBFLAGS) | sed -e 's/-m//g'` \ @@\
dest/adalibname.sub dest/adalibname.obj @@\
chmod -f a+x dest/adalibname.obj
#endif /* InstallLibrary */
/*
* AdaDependObk - Some program/library/compilable-entity has dependencies.
* We must scan his source files in order to ascertain those dependencies.
* We must also generate a load.name target for the Makefile.dep file.
*/
#ifndef AdaDependObk
#define AdaDependObk(name,sources,workingstem) @@\
.PRECIOUS: name.OBK @@\
@@\
Makefile.scan: name.OBK @@\
@@\
name.OBK: sources @@\
@$(CP) /dev/null make.scan.tmp @@\
@for i in sources ; \ @@\
do \ @@\
echo "@ $$i" >> make.scan.tmp ; \ @@\
done @@\
@echo name NONE-FILE TARGET >> make.scan.tmp @@\
@for i in $? ; \ @@\
do \ @@\
echo ' dep-scan => '$$i ; \ @@\
awk -f $(ADAIRULESRC)/dep-scan.awk \ @@\
Working=workingstem.obk \ @@\
OFile=make.scan.tmp $$i ; \ @@\
done @@\
@$(MV) make.scan.tmp name.OBK @@\
@@\
clean:: @@\
$(RM) *.OBK
#endif /* AdaDependObk */
/*
* AdaSimpleDependObk - Some program/library/compilable-entity has
* dependencies but those dependencies have been obtained by some AdaDependObk
* target already and they don't need to be obtained again.
* We just need to generate a load.name target for the Makefile.dep file.
*/
#ifndef AdaSimpleDependObk
#define AdaSimpleDependObk(name,sources,workingstem) @@\
.PRECIOUS: name.OBK @@\
@@\
Makefile.scan: name.OBK @@\
@@\
name.OBK: sources @@\
@$(CP) /dev/null make.scan.tmp @@\
@for i in sources ; \ @@\
do \ @@\
echo "@ $$i" >> make.scan.tmp ; \ @@\
done @@\
@echo name NONE-FILE TARGET >> make.scan.tmp @@\
@$(MV) make.scan.tmp name.OBK
#endif /* AdaSimpleDependObk */
/*
* AdaDependTarget - generate rules to compute dependencies for all files
* listed in the argument list.
*/
#ifndef AdaDependTarget
#define AdaDependTarget(workingstem) @@\
.PRECIOUS: Makefile.scan @@\
@@\
Makefile.scan: @@\
@echo 'Merge dep-scan information.' @@\
@if [ -f Makefile.scan ] ; then \ @@\
awk -f $(ADAIRULESRC)/dep-merge.awk OFile=make.dep.tmp \ @@\
Makefile.scan $? ; \ @@\
else \ @@\
awk -f $(ADAIRULESRC)/dep-merge.awk OFile=make.dep.tmp \ @@\
$? ; \ @@\
fi @@\
@$(MV) make.dep.tmp Makefile.scan @@\
@for i in $? ; \ @@\
do \ @@\
$(CP) /dev/null $$i ; \ @@\
done @@\
@sleep 1 @@\
@touch Makefile.scan @@\
@@\
Makefile.dep: Makefile.scan @@\
@$(RM) Makefile.dep @@\
@awk -f $(ADAIRULESRC)/dep-make.awk \ @@\
ExternalLib='$(ADAEXTERNALLIB)' \ @@\
OFile=Makefile.dep Makefile.scan @@\
@@\
depend:: @@\
$(RM) *.OBK Makefile.dep Makefile.scan @@\
$(MAKE) $(MFLAGS) Makefile.dep @@\
@@\
clean:: @@\
$(RM) Makefile.dep Makefile.scan
#endif /* AdaDependTarget */
/*
* CleanTarget - generate rules to remove any garbage files; the #* is here
* instead of in the definition of RM_CMD because System V will treat the
* pound sign in the RM_CMD variable as a comment.
*/
#ifndef CleanTarget
#define CleanTarget() @@\
clean:: @@\
$(RM_CMD) \#* @@\
$(RM) -r $(ADAWORKINGLIB)
#endif /* CleanTarget */
/*
* MakefileTarget - generate rules to build a normal Makefile.
*/
#undef MakefileTarget
#ifdef UseInstalled
#define MakefileTarget() @@\
BuildMakefileTarget(Imakefile, \ @@\
-DADA_IMAKEFILE_FILE='"'`pwd`/Imakefile'"' -DADATOPDIR=$(ADATOP))
#else
#define MakefileTarget() @@\
BuildMakefileTarget(Imakefile, \ @@\
-DADA_IMAKEFILE_FILE='"'`pwd`/Imakefile'"' -DADATOPDIR=$(ADATOP))
#endif /* MakefileTarget */
/*
* ParamSubdirs - generate rules to recursively "make param" as
* part of the make param step.
*/
#ifndef ParamSubdirs
#define ParamSubdirs(dirs) @@\
NamedTargetSubdirs(param,dirs,"paraming", /**/,param) @@\
NamedTargetSubdirs(normalize,dirs,"normalizing", /**/,normalize)
#endif /* ParamSubdirs */
/*
* ReparamSubdirs - generate rules to recursively "make reparam" as
* part of the make reparam step.
*/
#ifndef ReparamSubdirs
#define ReparamSubdirs(dirs) \
NamedTargetSubdirs(reparam,dirs,"reparaming", /**/,reparam)
#endif /* ReparamSubdirs */
/*
* MakeMakeSubdirs - generate rules to recursively recreate Makefiles as part
* of the specified step in the build. If $(TOP) is set to an absolute path,
* don't prepend the ../ prefix. This makes running things outside of the
* source tree to be much easier.
*/
#undef MakeMakeSubdirs
#define MakeMakeSubdirs(dirs,target) @@\
target:: @@\
@case '${MFLAGS}' in *[ik]*) set +e;; esac; \ @@\
for i in dirs ;\ @@\
do \ @@\
echo "making Makefiles in $(CURRENT_DIR)/$$i..."; \ @@\
case "$$i" in \ @@\
./?*/?*/?*/?*) newtop=../../../../ sub=subsubsubsub;; \ @@\
./?*/?*/?*) newtop=../../../ sub=subsubsub;; \ @@\
./?*/?*) newtop=../../ sub=subsub;; \ @@\
./?*) newtop=../ sub=sub;; \ @@\
*/?*/?*/?*) newtop=../../../../ sub=subsubsubsub;; \ @@\
*/?*/?*) newtop=../../../ sub=subsubsub;; \ @@\
*/?*) newtop=../../ sub=subsub;; \ @@\
*) newtop=../ sub=sub;; \ @@\
esac; \ @@\
newadatop=$$newtop ; \ @@\
case "$(TOP)" in \ @@\
/?*) newtop= upprefix= ;; \ @@\
*) upprefix=../ ;; \ @@\
esac; \ @@\
case "$(ADATOP)" in \ @@\
/?*) newadatop= adaupprefix= ;; \ @@\
*) adaupprefix=../ ;; \ @@\
esac; \ @@\
$(MAKE) $${sub}dirMakefiles \ @@\
UPPREFIX=$$upprefix NEWTOP=$$newtop \ @@\
ADAUPPREFIX=$$adaupprefix NEWADATOP=$$newadatop \ @@\
MAKEFILE_SUBDIR=$$i NEW_CURRENT_DIR=$(CURRENT_DIR)/$$i;\ @@\
done
/*
* MakeNsubdirMakefiles - generate rules to create sub Makefiles.
*/
#undef MakeNsubdirMakefiles
#define MakeNsubdirMakefiles() @@\
subdirMakefiles: @@\
$(RM) $(MAKEFILE_SUBDIR)/Makefile.bak @@\
-@if [ -f $(MAKEFILE_SUBDIR)/Makefile ]; then \ @@\
echo " $(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak"; \ @@\
$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak; \ @@\
else exit 0; fi @@\
cd $(MAKEFILE_SUBDIR); \ @@\
$(IMAKE_CMD) \ @@\
-DADA_IMAKEFILE_FILE='"'`pwd`/Imakefile'"' \ @@\
-DTOPDIR=$(UPPREFIX)$(TOP) \ @@\
-DADATOPDIR=$(ADAUPPREFIX)$(ADATOP) \ @@\
-DCURDIR=$(NEW_CURRENT_DIR) ; \ @@\
$(MAKE) $(MFLAGS) Makefiles @@\
@@\
subsubdirMakefiles: @@\
$(RM) $(MAKEFILE_SUBDIR)/Makefile.bak @@\
-@if [ -f $(MAKEFILE_SUBDIR)/Makefile ]; then \ @@\
echo " $(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak"; \ @@\
$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak; \ @@\
else exit 0; fi @@\
cd $(MAKEFILE_SUBDIR); \ @@\
$(IMAKE_CMD) \ @@\
-DADA_IMAKEFILE_FILE='"'`pwd/Imakefile'"' \ @@\
-DTOPDIR=$(UPPREFIX)$(UPPREFIX)$(TOP) \ @@\
-DADATOPDIR=$(ADAUPPREFIX)$(ADAUPPREFIX)$(ADATOP) \ @@\
-DCURDIR=$(NEW_CURRENT_DIR); \ @@\
$(MAKE) $(MFLAGS) Makefiles @@\
@@\
subsubsubdirMakefiles: @@\
$(RM) $(MAKEFILE_SUBDIR)/Makefile.bak @@\
-@if [ -f $(MAKEFILE_SUBDIR)/Makefile ]; then \ @@\
echo " $(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak"; \ @@\
$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak; \ @@\
else exit 0; fi @@\
cd $(MAKEFILE_SUBDIR); \ @@\
$(IMAKE_CMD) \ @@\
-DADA_IMAKEFILE_FILE='"'`pwd`/Imakefile'"' \ @@\
-DTOPDIR=$(UPPREFIX)$(UPPREFIX)$(UPPREFIX)$(TOP) \ @@\
-DADATOPDIR=$(ADAUPPREFIX)$(ADAUPPREFIX)$(ADAUPPREFIX)$(ADATOP) \ @@\
-DCURDIR=$(NEW_CURRENT_DIR); \ @@\
$(MAKE) $(MFLAGS) Makefiles @@\
@@\
subsubsubsubdirMakefiles: @@\
$(RM) $(MAKEFILE_SUBDIR)/Makefile.bak @@\
-@if [ -f $(MAKEFILE_SUBDIR)/Makefile ]; then \ @@\
echo " $(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak"; \ @@\
$(MV) $(MAKEFILE_SUBDIR)/Makefile $(MAKEFILE_SUBDIR)/Makefile.bak; \ @@\
else exit 0; fi @@\
cd $(MAKEFILE_SUBDIR); \ @@\
$(IMAKE_CMD) \ @@\
-DADA_IMAKEFILE_FILE='"'`pwd`/Imakefile'"' \ @@\
-DTOPDIR=$(UPPREFIX)$(UPPREFIX)$(UPPREFIX)$(UPPREFIX)$(TOP) \ @@\
-DADATOPDIR=$(ADAUPPREFIX)$(ADAUPPREFIX)$(ADAUPPREFIX)$(ADAUPPREFIX)$(ADATOP) \ @@\
-DCURDIR=$(NEW_CURRENT_DIR); \ @@\
$(MAKE) $(MFLAGS) Makefiles