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); \r
| for file in fordummy $(XTC_IMPORT) ; do \r
| if [ “$$file” = “fordummy” ]; then continue; fi; \r
| $(XTC)/bin/xtc -r $(DREPOSITORY) import $$file ; \r
| echo $(XTC)/bin/xtc -r $(DREPOSITORY) import $$file ; \r
| done ; \r
| for file in fordummy $(pkgdata_DATA) ; do \r
| if [ “$$file” = “fordummy” ]; then continue; fi; \r
| $(XTC)/bin/xtc -r $(DREPOSITORY) register -l $(pkgdatadir) -V $(VERSION) \r
| -t $$file ; \r
| done ; \r
| for file in fordummy $(sdfdata_DATA) ; do \r
| if [ “$$file” = “fordummy” ]; then continue; fi; \r
| $(XTC)/bin/xtc -r $(DREPOSITORY) register -l $(sdfdatadir) -V $(VERSION) \r
| -t $$file ; \r
| done; \r
| 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); \r
| for file in fordummy $(XTC_IMPORT) ; do \r
| if [ “$$file” = “fordummy” ]; then continue; fi; \r
| $(XTC)/bin/xtc -r $(DREPOSITORY) import $$file ; \r
| echo $(XTC)/bin/xtc -r $(DREPOSITORY) import $$file ; \r
| done ; \r

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 \r
| if [ “$$file” = “fordummy” ]; then continue; fi; \r
| $(XTC)/bin/xtc -r $(DREPOSITORY) import $$file ; \r
| echo $(XTC)/bin/xtc -r $(DREPOSITORY) import $$file ; \r
| 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?

Submitted on 1 June 2006 at 22:59

Log in to post comments