Skip to content

Commit

Permalink
More accurate dependencies in Holmakefiles for Moscow ML.
Browse files Browse the repository at this point in the history
In particular, with the change in 6e6ca26, some Holmakefiles feature
selftest.exe as the first thing to be built. If the dependencies for
these files are not recorded accurately, then the build will fail when
Moscow ML attempts to link object files to create the executable.

In src/TeX the problem was that a .uo file didn't record its
dependency on the corresponding .ui file, and again, the change in
6e6ca26 meant that targets were attempted in a different order.

The problem doesn't arise with Poly/ML because there is no analogue of
linking, and calls to the "compiler" don't actually do anything much.
  • Loading branch information
mn200 committed Nov 4, 2014
1 parent 7f7a151 commit 409d057
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/TeX/Holmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ holindex.grm.sml holindex.grm-sig.sml: holindex.grm holindexData.uo
holindex.grm.ui holindex.grm.uo: holindex.grm.sml holindex.grm-sig.uo holindexData.uo
$(HOLMOSMLC) -toplevel -c -I $(MLYACCLIB) $(MLYACCLIB_UIS) holindex.grm-sig.ui $<

AssembleHolindexParser.uo: AssembleHolindexParser.sml holindex.grm.uo holindex.lex.uo holindexData.uo
AssembleHolindexParser.uo: AssembleHolindexParser.sml AssembleHolindexParser.ui holindex.grm.uo holindex.lex.uo holindexData.uo
$(HOLMOSMLC) -c -I $(MLYACCLIB) $(MLYACCLIB_UIS) holindex.grm.ui holindex.lex.ui $<

selftest.exe: selftest.uo EmitTeX.uo
Expand Down
2 changes: 1 addition & 1 deletion src/parse/Holmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ EXTRA_CLEANS = base_lexer.sml

SELFTEST_DEPS = $(dprot $(SIGOBJ)/Lib.uo) $(dprot $(SIGOBJ)/Type.uo) \
PPBackEnd.uo $(dprot $(SIGOBJ)/Overlay.uo) base_tokens.uo \
qbuf.uo term_tokens.uo
qbuf.uo term_tokens.uo MLstring.uo CharSet.uo

UOFILES = $(patsubst %.sml,%.uo,$(wildcard *.sml))

Expand Down
2 changes: 1 addition & 1 deletion src/q/Holmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ all: selftest.exe $(UOFILES)

.PHONY: all

selftest.exe: selftest.uo
selftest.exe: selftest.uo Q.uo
$(HOLMOSMLC) -o $@ $<

0 comments on commit 409d057

Please sign in to comment.