diff options
author | Tristan Gingold <tgingold@free.fr> | 2017-05-23 04:09:42 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2017-05-23 04:09:42 +0200 |
commit | 261de25d3fa108b22b4eaff57ee102f1440d9c8a (patch) | |
tree | cc0620615cf89e38b0004e5a5542072a45ae9192 /libraries | |
parent | e82437906ec350554835a7c8ba288a41e167fa14 (diff) | |
download | ghdl-261de25d3fa108b22b4eaff57ee102f1440d9c8a.tar.gz ghdl-261de25d3fa108b22b4eaff57ee102f1440d9c8a.tar.bz2 ghdl-261de25d3fa108b22b4eaff57ee102f1440d9c8a.zip |
Add missing dependencies for std_standard.o, avoid rebuild.
For #352
Diffstat (limited to 'libraries')
-rw-r--r-- | libraries/Makefile.inc | 87 |
1 files changed, 54 insertions, 33 deletions
diff --git a/libraries/Makefile.inc b/libraries/Makefile.inc index fb2d14913..bc6627a1f 100644 --- a/libraries/Makefile.inc +++ b/libraries/Makefile.inc @@ -22,6 +22,7 @@ # ANALYZE # LN # CP +# MKDIR # VHDLLIBS_COPY_OBJS: must be set to 'no' for jit vhdl.libs.all: vhdl.libs.v87 vhdl.libs.v93 vhdl.libs.v08 @@ -122,19 +123,23 @@ VITAL95_SRCS=$(addprefix $(LIBDST_DIR)/src/,$(VITAL95_BSRCS)) VITAL2000_SRCS=$(addprefix $(LIBDST_DIR)/src/,$(VITAL2000_BSRCS)) $(LIBDST_DIR)/src/std $(LIBDST_DIR)/src/ieee $(LIBDST_DIR)/src/ieee2008 $(LIBDST_DIR)/src/vital95 $(LIBDST_DIR)/src/vital2000 $(LIBDST_DIR)/src/synopsys $(LIBDST_DIR)/src/mentor: - -mkdir -p $@ + $(MKDIR) -p $@ ### V87 ############################################################### $(LIB87_DIR): - mkdir -p $@ + $(MKDIR) -p $@ + +$(STD87_DIR) $(IEEE87_DIR) $(SYN87_DIR): $(LIB87_DIR) + $(MKDIR) -p $@ $(LIBDST_DIR)/src/std/%.v87: $(LIBSRC_DIR)/std/%.vhdl $(LIBDST_DIR)/src/std $(SED_V87) < $< > $@ -std.v87: $(ANALYZE_DEP) $(LIB87_DIR) $(STD87_SRCS) force - $(RM) -rf $(STD87_DIR) - mkdir $(STD87_DIR) +std.v87: $(STD87_DIR)/std-obj87.cf + +$(STD87_DIR)/std-obj87.cf: $(ANALYZE_DEP) $(STD87_SRCS) $(STD87_DIR) + $(RM) -f $@ cd $(STD87_DIR); \ for i in $(STD87_BSRCS); do \ cmd="$(ANALYZE87) --bootstrap --work=std ../../src/$$i"; \ @@ -149,8 +154,10 @@ $(LIBDST_DIR)/src/vital95/%.vhdl: $(LIBSRC_DIR)/vital95/%.vhdl $(LIBDST_DIR)/src ANALYZE_IEEE87=$(ANALYZE87) -P../std --work=ieee -ieee.v87: $(ANALYZE_DEP) $(LIB87_DIR) $(IEEE87_SRCS) $(VITAL95_SRCS) std.v87 force - $(RM) -rf $(IEEE87_DIR); mkdir $(IEEE87_DIR) +ieee.v87: $(IEEE87_DIR)/ieee-obj87.cf + +$(IEEE87_DIR)/ieee-obj87.cf: $(ANALYZE_DEP) $(IEEE87_SRCS) $(VITAL95_SRCS) $(IEEE87_DIR) $(STD87_DIR)/std-obj87.cf + $(RM) -f $@ cd $(IEEE87_DIR); \ for i in $(IEEE87_BSRCS) $(VITAL95_BSRCS); do \ cmd="$(ANALYZE_IEEE87) ../../src/$$i";\ @@ -160,9 +167,10 @@ ieee.v87: $(ANALYZE_DEP) $(LIB87_DIR) $(IEEE87_SRCS) $(VITAL95_SRCS) std.v87 for $(LIBDST_DIR)/src/synopsys/%.vhdl: $(LIBSRC_DIR)/synopsys/%.vhdl $(LIBDST_DIR)/src/synopsys $(CP) $< $@ -synopsys.v87: $(ANALYZE_DEP) $(LIB87_DIR) $(SYNOPSYS87_SRCS) ieee.v87 force - $(RM) -rf $(SYN87_DIR) - mkdir $(SYN87_DIR) +synopsys.v87: $(SYN87_DIR)/ieee-obj87.cf + +$(SYN87_DIR)/ieee-obj87.cf: $(ANALYZE_DEP) $(LIB87_DIR) $(SYNOPSYS87_SRCS) $(SYN87_DIR) $(IEEE87_DIR)/ieee-obj87.cf + $(RM) -f $@ cd $(SYN87_DIR); \ $(CP) ../ieee/ieee-obj87.cf . ; \ test x$(VHDLLIBS_COPY_OBJS) = "xno" || \ @@ -180,14 +188,18 @@ synopsys.v87: $(ANALYZE_DEP) $(LIB87_DIR) $(SYNOPSYS87_SRCS) ieee.v87 force ### V93 ############################################################### $(LIB93_DIR): - mkdir -p $@ + $(MKDIR) -p $@ + +$(STD93_DIR) $(IEEE93_DIR) $(SYN93_DIR) $(MENTOR93_DIR): $(LIB93_DIR) + $(MKDIR) -p $@ $(LIBDST_DIR)/src/std/%.v93: $(LIBSRC_DIR)/std/%.vhdl $(LIBDST_DIR)/src/std $(SED_V93) < $< > $@ -std.v93: $(ANALYZE_DEP) $(LIB93_DIR) $(STD93_SRCS) force - $(RM) -rf $(STD93_DIR) - mkdir $(STD93_DIR) +std.v93: $(STD93_DIR)/std-obj93.cf + +$(STD93_DIR)/std-obj93.cf: $(ANALYZE_DEP) $(LIB93_DIR) $(STD93_SRCS) $(STD93_DIR) + $(RM) -rf $@ cd $(STD93_DIR); \ for i in $(STD93_BSRCS); do \ cmd="$(ANALYZE93) --bootstrap --work=std ../../src/$$i"; \ @@ -205,18 +217,20 @@ $(LIBDST_DIR)/src/vital2000/%.vhdl: $(LIBSRC_DIR)/vital2000/%.vhdl $(LIBDST_DIR) ANALYZE_IEEE93=$(ANALYZE93) -P../std --work=ieee -ieee.v93: $(ANALYZE_DEP) $(LIB93_DIR) $(IEEE93_SRCS) $(VITAL2000_SRCS) std.v93 force - $(RM) -rf $(IEEE93_DIR) - mkdir $(IEEE93_DIR) +ieee.v93: $(IEEE93_DIR)/ieee-obj93.cf + +$(IEEE93_DIR)/ieee-obj93.cf: $(ANALYZE_DEP) $(LIB93_DIR) $(IEEE93_SRCS) $(VITAL2000_SRCS) $(IEEE93_DIR) $(STD93_DIR)/std-obj93.cf + $(RM) -f $@ cd $(IEEE93_DIR); \ for i in $(IEEE93_BSRCS) $(VITAL2000_BSRCS); do \ cmd="$(ANALYZE_IEEE93) ../../src/$$i"; \ echo $$cmd; eval $$cmd || exit 1; \ done -synopsys.v93: $(ANALYZE_DEP) $(LIB93_DIR) $(SYNOPSYS93_SRCS) ieee.v93 force - $(RM) -rf $(SYN93_DIR) - mkdir $(SYN93_DIR) +synopsys.v93: $(SYN93_DIR)/ieee-obj93.cf + +$(SYN93_DIR)/ieee-obj93.cf: $(ANALYZE_DEP) $(LIB93_DIR) $(SYNOPSYS93_SRCS) $(SYN93_DIR) $(IEEE93_DIR)/ieee-obj93.cf + $(RM) -f $@ cd $(SYN93_DIR); \ $(CP) ../ieee/ieee-obj93.cf .; \ test x$(VHDLLIBS_COPY_OBJS) = "xno" || \ @@ -234,9 +248,10 @@ synopsys.v93: $(ANALYZE_DEP) $(LIB93_DIR) $(SYNOPSYS93_SRCS) ieee.v93 force $(LIBDST_DIR)/src/mentor/%.vhdl: $(LIBSRC_DIR)/mentor/%.vhdl $(LIBDST_DIR)/src/mentor $(CP) $< $@ -mentor.v93: $(ANALYZE_DEP) $(LIB93_DIR) $(MENTOR93_SRCS) ieee.v93 force - $(RM) -rf $(MENTOR93_DIR) - mkdir $(MENTOR93_DIR) +mentor.v93: $(MENTOR93_DIR)/ieee-obj93.cf + +$(MENTOR93_DIR)/ieee-obj93.cf: $(ANALYZE_DEP) $(LIB93_DIR) $(MENTOR93_SRCS) $(MENTOR93_DIR) $(IEEE93_DIR)/ieee-obj93.cf + $(RM) -f $@ cd $(MENTOR93_DIR); \ $(CP) ../ieee/ieee-obj93.cf . ;\ test x$(VHDLLIBS_COPY_OBJS) = "xno" || \ @@ -254,7 +269,10 @@ mentor.v93: $(ANALYZE_DEP) $(LIB93_DIR) $(MENTOR93_SRCS) ieee.v93 force ### V08 ############################################################### $(LIB08_DIR): - mkdir -p $@ + $(MKDIR) -p $@ + +$(STD08_DIR) $(IEEE08_DIR) $(SYN08_DIR): $(LIB08_DIR) + $(MKDIR) -p $@ $(LIBDST_DIR)/src/std/%.v08: $(LIBSRC_DIR)/std/%.vhdl $(LIBDST_DIR)/src/std $(SED_V08) < $< > $@ @@ -262,9 +280,10 @@ $(LIBDST_DIR)/src/std/%.v08: $(LIBSRC_DIR)/std/%.vhdl $(LIBDST_DIR)/src/std $(LIBDST_DIR)/src/std/%.vhdl: $(LIBSRC_DIR)/std/%.vhdl $(LIBDST_DIR)/src/std $(CP) $< $@ -std.v08: $(ANALYZE_DEP) $(LIB08_DIR) $(STD08_SRCS) force - $(RM) -rf $(STD08_DIR) - mkdir $(STD08_DIR) +std.v08: $(STD08_DIR)/std-obj08.cf + +$(STD08_DIR)/std-obj08.cf: $(ANALYZE_DEP) $(LIB08_DIR) $(STD08_SRCS) $(STD08_DIR) + $(RM) -f $@ cd $(STD08_DIR); \ for i in $(STD08_BSRCS); do \ cmd="$(ANALYZE08) --bootstrap --work=std ../../src/$$i"; \ @@ -277,9 +296,10 @@ $(LIBDST_DIR)/src/ieee2008/%.vhdl: $(LIBSRC_DIR)/ieee2008/%.vhdl $(LIBDST_DIR)/s ANALYZE_IEEE08=$(ANALYZE08) -P../std --work=ieee ANALYZE_VITAL08=$(ANALYZE08) -P../std --work=ieee -frelaxed-rules -ieee.v08: $(ANALYZE_DEP) $(LIB08_DIR) $(IEEE08_SRCS) std.v08 force - $(RM) -rf $(IEEE08_DIR) - mkdir $(IEEE08_DIR) +ieee.v08: $(IEEE08_DIR)/ieee-obj08.cf + +$(IEEE08_DIR)/ieee-obj08.cf: $(ANALYZE_DEP) $(LIB08_DIR) $(IEEE08_SRCS) $(IEEE08_DIR) $(STD08_DIR)/std-obj08.cf + $(RM) -f $@ cd $(IEEE08_DIR); \ for i in $(IEEE08_BSRCS); do \ cmd="$(ANALYZE_IEEE08) ../../src/$$i"; \ @@ -290,9 +310,10 @@ ieee.v08: $(ANALYZE_DEP) $(LIB08_DIR) $(IEEE08_SRCS) std.v08 force echo $$cmd; eval $$cmd || exit 1; \ done -synopsys.v08: $(ANALYZE_DEP) $(LIB08_DIR) $(SYNOPSYS08_SRCS) ieee.v08 force - $(RM) -rf $(SYN08_DIR) - mkdir $(SYN08_DIR) +synopsys.v08: $(SYN08_DIR)/ieee-obj08.cf + +$(SYN08_DIR)/ieee-obj08.cf: $(ANALYZE_DEP) $(LIB08_DIR) $(SYNOPSYS08_SRCS) $(SYN08_DIR) $(IEEE08_DIR)/ieee-obj08.cf + $(RM) -f $@ cd $(SYN08_DIR); \ $(CP) ../ieee/ieee-obj08.cf .; \ test x$(VHDLLIBS_COPY_OBJS) = "xno" || \ |