See this mail by Akim:
http://mail.cs.uu.nl/pipermail/stratego-dev/2005q1/000864.html
Now we can disable XTC registration in specific packages, it should be possible to finally remove the ; .
Quote:
My environment is certainly somewhat unusual, but I face problems when
trying to compile some modules (here, Tiger in Stratego). Some issues
remain hidden for too long, for instance, in Makefile.xt, I read:
| install-data-local::
| $(mkinstalldirs) `dirname $(DREPOSITORY)`
| @$(XTC)/bin/xtc -r $(DREPOSITORY) register -l $(prefix) -V $(VERSION) -t $(PACKAGE); \
| for file in fordummy $(XTC_IMPORT) ; do \
| if [ "$$file" = "fordummy" ]; then continue; fi; \
| $(XTC)/bin/xtc -r $(DREPOSITORY) import $$file ; \
| echo $(XTC)/bin/xtc -r $(DREPOSITORY) import $$file ; \
| done ; \
| for file in fordummy $(pkgdata_DATA) ; do \
| if [ "$$file" = "fordummy" ]; then continue; fi; \
| $(XTC)/bin/xtc -r $(DREPOSITORY) register -l $(pkgdatadir) -V $(VERSION) \
| -t $$file ; \
| done ; \
| for file in fordummy $(sdfdata_DATA) ; do \
| if [ "$$file" = "fordummy" ]; then continue; fi; \
| $(XTC)/bin/xtc -r $(DREPOSITORY) register -l $(sdfdatadir) -V $(VERSION) \
| -t $$file ; \
| done; \
| echo "Data registered in repository $(DREPOSITORY): $(pkgdata_DATA) $(sdfdata_DATA)"
|
| This is a single command, hence, if there is an early failure, the
| "shell script" will continue instead of failing immediately. Why
|
| @$(XTC)/bin/xtc -r $(DREPOSITORY) register -l $(prefix) -V $(VERSION) -t $(PACKAGE); \
| for file in fordummy $(XTC_IMPORT) ; do \
| if [ "$$file" = "fordummy" ]; then continue; fi; \
| $(XTC)/bin/xtc -r $(DREPOSITORY) import $$file ; \
| echo $(XTC)/bin/xtc -r $(DREPOSITORY) import $$file ; \
| done ; \
instead of (without the ;\ between the two commands)
| @$(XTC)/bin/xtc -r $(DREPOSITORY) register -l $(prefix) -V $(VERSION) -t $(PACKAGE)
| for file in fordummy $(XTC_IMPORT) ; do \
| if [ "$$file" = "fordummy" ]; then continue; fi; \
| $(XTC)/bin/xtc -r $(DREPOSITORY) import $$file ; \
| echo $(XTC)/bin/xtc -r $(DREPOSITORY) import $$file ; \
| done
that way, if the first command fails, make stops immediately. Also,
verbose message would be more helpful *before* running the command,
than after.
This comment applies to several rules in Makefile.xt that would
rather, IMHO, be composed of several shell invocations instead of a
single. But maybe I missed the point?