--- a/Make.proto Tue Dec 04 00:44:59 2012 +0000
+++ b/Make.proto Mon Dec 10 19:00:37 2012 +0000
@@ -88,7 +88,7 @@
echo -n exported > .svnversion; \
fi
-stx_libjava.o: stx_libjava.st .svnversion
+stx_libjava.o: stx_libjava.st .svnversion
@if [ -d .svn ]; then \
rev2="$(shell printf "%-16s" $$(cat .svnversion))"; \
echo " [SV] Expanding svnRevisionNo in $1.st"; \
@@ -97,11 +97,18 @@
$(MAKE) CC="$(CLASSLIB_CC)" OPT="$(OPT)" SEPINITCODE="$(SEPINITCODE)" STC="$(STC)" STFILE=.stx_libjava.svn $(C_RULE);
sed -i -e "s/\".stx_libjava.svn.st\");/\"\stx_libjava.st\");/g" .stx_libjava.svn.c
$(MAKE) .stx_libjava.svn.$(O)
- @mv .stx_libjava.svn.$(O) stx_libjava.$(O)
+ @mv .stx_libjava.svn.$(O) stx_libjava.$(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**'))
+stx_libjava.$(O): $(shell hg root)/.hg/dirstate
+endif
+
@@ -126,13 +133,13 @@
prereq: $(REQUIRED_SUPPORT_DIRS)
cd ../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+ cd ../libdb/libodbc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../libcomp && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../libdb && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../libboss && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
- cd ../libdb/libodbc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../libdb/libsqlite && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
cd ../libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"