Make.proto
changeset 42 acdc3ec6d152
parent 41 f3898a3b378d
child 44 840c68a91cdd
--- a/Make.proto	Thu Oct 30 21:43:54 2014 +0000
+++ b/Make.proto	Thu Oct 30 22:18:24 2014 +0000
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/libwidg -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libcompat -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/libtool
+LOCALINCLUDES= -I$(INCLUDE_TOP)/stx/goodies/refactoryBrowser/parser -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libcomp -I$(INCLUDE_TOP)/stx/libcompat -I$(INCLUDE_TOP)/stx/libtool -I$(INCLUDE_TOP)/stx/libwidg
 
 
 # if you need any additional defines for embedded C code,
@@ -68,7 +68,7 @@
 
 
 
-# Update SVN revision in stx_libbasic3.st
+# Update SVN revision in package definition class
 ifneq (,$(findstring .svn,$(wildcard .svn)))
 .svnversion: *.st
 	if [ -d .svn ]; then \
@@ -78,7 +78,7 @@
 		echo -n exported > .svnversion; \
 	fi
 
-ctu_ircompiler.o: ctu_ircompiler.st .svnversion 
+ctu_ircompiler.o: ctu_ircompiler.st .svnversion
 	@if [ -d .svn ]; then \
 		rev2="$(shell printf "%-16s" $$(cat .svnversion))"; \
 		echo "  [SV]  Expanding svnRevisionNo in $1.st"; \
@@ -87,11 +87,27 @@
 	$(MAKE) CC="$(CLASSLIB_CC)" OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)" STC="$(STC)" STFILE=.ctu_ircompiler.svn $(C_RULE);
 	sed -i -e "s/\".ctu_ircompiler.svn.st\");/\"\ctu_ircompiler.st\");/g" .ctu_ircompiler.svn.c
 	$(MAKE) .ctu_ircompiler.svn.$(O)
-	@mv .ctu_ircompiler.svn.$(O) ctu_ircompiler.$(O) 
+	@mv .ctu_ircompiler.svn.$(O) ctu_ircompiler.$(O)
 endif
 
 
 
+# Enforce recompilation of package definition class if Mercurial working
+# copy state changes. Together with --guessVersion it ensures that package
+# definition class always contains correct binary revision string.
+ifneq (**NOHG**, $(shell hg root 2> /dev/null || echo -n '**NOHG**'))
+ctu_ircompiler.$(O): $(shell hg root)/.hg/dirstate
+endif
+
+
+
+
+# run default testsuite for this package
+test: $(TOP)/goodies/builder/reports
+	$(MAKE) -C $(TOP)/goodies/builder/reports -f Makefile.init
+	$(TOP)/goodies/builder/reports/report-runner.sh -D . -r Builder::TestReport -p $(PACKAGE)
+
+
 
 # add more install actions here
 install::
@@ -105,27 +121,21 @@
 # add more postMake actions here
 postMake:: cleanjunk
 
-prereq: $(REQUIRED_SUPPORT_DIRS)
+# build all mandatory prerequisite packages (containing superclasses) for this package
+prereq:
 	cd $(TOP)/libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/goodies/refactoryBrowser/parser && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd $(TOP)/libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd $(TOP)/libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd $(TOP)/libcomp && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd $(TOP)/libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libdb && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd $(TOP)/libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libboss && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libdb/libodbc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libdb/libsqlite && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd $(TOP)/goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libhtml && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libwidg2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libtool && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/libcompat && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd $(TOP)/librun && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+
+
 
+# build all packages containing referenced classes for this package
+# they are nor needed to compile the package
+references:
 
 
 cleanjunk::
@@ -146,7 +156,7 @@
 $(OUTDIR)IRInterpreter.$(O) IRInterpreter.$(H): IRInterpreter.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRSequence.$(O) IRSequence.$(H): IRSequence.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRStackCount.$(O) IRStackCount.$(H): IRStackCount.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)ctu_ircompiler.$(O) ctu_ircompiler.$(H): ctu_ircompiler.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)ctu_ircompiler.$(O) ctu_ircompiler.$(H): ctu_ircompiler.st $(INCLUDE_TOP)/stx/libbasic/LibraryDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(STCHDR)
 $(OUTDIR)IRAccess.$(O) IRAccess.$(H): IRAccess.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRClosure.$(O) IRClosure.$(H): IRClosure.st $(INCLUDE_TOP)/ctu/ircompiler/IRFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRConstant.$(O) IRConstant.$(H): IRConstant.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -160,19 +170,19 @@
 $(OUTDIR)IRReturn.$(O) IRReturn.$(H): IRReturn.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRSend.$(O) IRSend.$(H): IRSend.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRTranslator.$(O) IRTranslator.$(H): IRTranslator.st $(INCLUDE_TOP)/ctu/ircompiler/IRInterpreter.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRBlockReturnTop.$(O) IRBlockReturnTop.$(H): IRBlockReturnTop.st $(INCLUDE_TOP)/ctu/ircompiler/IRReturn.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRBlockReturnTop.$(O) IRBlockReturnTop.$(H): IRBlockReturnTop.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRReturn.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRInstVarAccess.$(O) IRInstVarAccess.$(H): IRInstVarAccess.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRJumpIf.$(O) IRJumpIf.$(H): IRJumpIf.st $(INCLUDE_TOP)/ctu/ircompiler/IRJump.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRJumpOverBlock.$(O) IRJumpOverBlock.$(H): IRJumpOverBlock.st $(INCLUDE_TOP)/ctu/ircompiler/IRJump.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRJumpIf.$(O) IRJumpIf.$(H): IRJumpIf.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRJump.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRJumpOverBlock.$(O) IRJumpOverBlock.$(H): IRJumpOverBlock.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRJump.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRLiteralVariableAccess.$(O) IRLiteralVariableAccess.$(H): IRLiteralVariableAccess.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)IRTempAccess.$(O) IRTempAccess.$(H): IRTempAccess.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRInstVarRead.$(O) IRInstVarRead.$(H): IRInstVarRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstVarAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRInstVarStore.$(O) IRInstVarStore.$(H): IRInstVarStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRInstVarAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRLiteralVariableRead.$(O) IRLiteralVariableRead.$(H): IRLiteralVariableRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRLiteralVariableStore.$(O) IRLiteralVariableStore.$(H): IRLiteralVariableStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRTempRead.$(O) IRTempRead.$(H): IRTempRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRTempAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)IRTempStore.$(O) IRTempStore.$(H): IRTempStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRTempAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libcomp/ByteCodeCompiler.$(H) $(INCLUDE_TOP)/stx/libcomp/Parser.$(H) $(INCLUDE_TOP)/stx/libcomp/Scanner.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(STCHDR)
+$(OUTDIR)IRInstVarRead.$(O) IRInstVarRead.$(H): IRInstVarRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstVarAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRInstVarStore.$(O) IRInstVarStore.$(H): IRInstVarStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstVarAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRLiteralVariableRead.$(O) IRLiteralVariableRead.$(H): IRLiteralVariableRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRLiteralVariableStore.$(O) IRLiteralVariableStore.$(H): IRLiteralVariableStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRLiteralVariableAccess.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRTempRead.$(O) IRTempRead.$(H): IRTempRead.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRTempAccess.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)IRTempStore.$(O) IRTempStore.$(H): IRTempStore.st $(INCLUDE_TOP)/ctu/ircompiler/IRAccess.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRInstruction.$(H) $(INCLUDE_TOP)/ctu/ircompiler/IRTempAccess.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)extensions.$(O): extensions.st $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libcomp/ByteCodeCompiler.$(H) $(INCLUDE_TOP)/stx/libcomp/Parser.$(H) $(INCLUDE_TOP)/stx/libcomp/Scanner.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line