--- 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