When TableGen finds an error in the SparcV9.td file, it exits with a non-zero

exit code. This, in turn, makes an empty file SparcV9CodeEmitter.inc, and only
much later, produces a link error because the key function that TableGen creates
isn't found.

Using a temporary file in the middle forces a good .INC file to be generated by
TableGen, and it will keep trying until you fix the input file.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6392 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Misha Brukman 2003-05-29 05:29:22 +00:00
parent e5841daa79
commit 3f7b58bca0

View File

@ -34,9 +34,12 @@ $(BUILD_ROOT)/Depend/Sparc.burm.d: $(BUILD_ROOT)/Depend/.dir
SparcV9CodeEmitter.cpp: SparcV9CodeEmitter.inc
TEMP_EMITTER_INC = _temp_emitter.inc
SparcV9CodeEmitter.inc: SparcV9.td
@echo "TableGen-erating $@"
cpp -P SparcV9.td | tblgen -gen-emitter > SparcV9CodeEmitter.inc
cpp -P SparcV9.td | tblgen -gen-emitter > $(TEMP_EMITTER_INC)
mv -f $(TEMP_EMITTER_INC) SparcV9CodeEmitter.inc
clean::
rm -f SparcV9CodeEmitter.inc