[Aldor-l] Ignoring errors where they shouldn't

Ralf Hemmecke ralf at hemmecke.de
Fri Jan 18 19:00:09 EST 2008


In trunk/aldor/aldor/tools/Makefile I found

unixdir:
	-(cd unix ; $(MAKE) all)

Is there some good reason why a possible error should be ignored?


In fact, on my system I currently don't have "lex" available, so the 
build must fail, but it doesn't. It goes on producing an "aldor" 
executable and then comes to

aldor 
-R/home/hemmecke/scratch/SVNAldor-Generated/temp/installdir/linux/1.1.0/lib 
-Q3 -Qinline-all -Fao -Fo -Z db -Wcheck -M no-ALDOR_W_WillObsolete -M 
no-ALDOR_W_OverRideLibraryFile lang.as

and starts slowing down my system drastically by repeatedly starting 
aldor processes until all the memory is filled.

So there are in fact >3 bugs.

1) The "-" above should be removed.
2) Similarly in trunk/aldor/aldor/Makefile

toolsdir:  envcheck
	-(cd tools ; $(TIMER) $(MAKE) all)

3) In trunk/aldor/aldor/tools/Makefile the following target should have 
"&&" instead of ";" in order to abort early.

# zacc: Parser generator with parameterized rules. Based on Yacc.
$(ALDORTOOLS)/zacc$(EXE): zaccgram.y zaccscan.l zacc.c zacc.h zcport.h 
cenum.h cenum.c
	@ (cd $(ALDORTOOLS) && \
		echo "$(LEX) $(SRC)/zaccscan.l" && \
		      $(LEX) $(SRC)/zaccscan.l && \
		echo "yacc -d $(SRC)/zaccgram.y" && \
		      yacc -d $(SRC)/zaccgram.y && \
		echo "mv y.tab.h zaccgram.h" && \
		      mv y.tab.h zaccgram.h && \
		echo "$(CC) $(CFLAGS) -I. -I$(SRC) \
		   $(SRC)/zacc.c lex.yy.c y.tab.c $(SRC)/cenum.c -o zacc$(EXE)" && \
		      $(CC) $(CFLAGS) -I. -I$(SRC) \
		   $(SRC)/zacc.c lex.yy.c y.tab.c $(SRC)/cenum.c -o zacc$(EXE) && \
		rm lex.yy.c y.tab.c zaccgram.h \
	)

4) There are several other places where errors are ignored, but I didn't 
yet have problems with those.

Could somebody correct the sources in the repository?

Thank you

Ralf




More information about the Aldor-l mailing list