summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/Sparc
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-07-30 05:49:17 +0000
committerChris Lattner <sabre@nondot.org>2003-07-30 05:49:17 +0000
commit3f368e3432236264f84665a39e048bc7b19a17d2 (patch)
tree5f7db016ab0f05b233df3ab7b67fd16434e4f718 /llvm/lib/Target/Sparc
parentea6aac412df9d1b62117a98f3dcecc0d75c93a46 (diff)
downloadbcm5719-llvm-3f368e3432236264f84665a39e048bc7b19a17d2.tar.gz
bcm5719-llvm-3f368e3432236264f84665a39e048bc7b19a17d2.zip
Only regenerate the .inc file if IT has changed, not just if the .td files
have changed. llvm-svn: 7414
Diffstat (limited to 'llvm/lib/Target/Sparc')
-rw-r--r--llvm/lib/Target/Sparc/Makefile17
1 files changed, 13 insertions, 4 deletions
diff --git a/llvm/lib/Target/Sparc/Makefile b/llvm/lib/Target/Sparc/Makefile
index f48f0cd6e9c..5c8532a6f4e 100644
--- a/llvm/lib/Target/Sparc/Makefile
+++ b/llvm/lib/Target/Sparc/Makefile
@@ -43,9 +43,18 @@ $(BUILD_OBJ_DIR)/Depend/Sparc.burm.d: $(BUILD_OBJ_DIR)/Depend/.dir
SparcV9CodeEmitter.cpp: SparcV9CodeEmitter.inc
-SparcV9CodeEmitter.inc: SparcV9.td SparcV9_F2.td SparcV9_F3.td SparcV9_F4.td SparcV9_Reg.td $(TBLGEN)
- @${ECHO} "TableGen-erating $@"
- $(CC) -E -xc -P SparcV9.td | $(TBLGEN) -gen-emitter -o $@
+
+TARGET_NAME := SparcV9
+
+TABLEGEN_FILES := $(wildcard *.td)
+
+$(TARGET_NAME)CodeEmitter.inc.tmp: $(TABLEGEN_FILES) $(TBLGEN)
+ @${ECHO} "TableGen-erating " $(TARGET_NAME)
+ $(CC) -E -xc -P $(TARGET_NAME).td | $(TBLGEN) -gen-emitter -o $@
+
+$(TARGET_NAME)CodeEmitter.inc: $(TARGET_NAME)CodeEmitter.inc.tmp
+ $(VERB) # Only copy over the real .inc file if it has changed!
+ $(VERB) diff $@ $< > /dev/null || cp $< $@
clean::
- ${RM} -f SparcV9CodeEmitter.inc
+ ${RM} -f $(TARGET_NAME)CodeEmitter.inc $(TARGET_NAME)CodeEmitter.inc.tmp
OpenPOWER on IntegriCloud