aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2017-05-23 08:04:11 +0200
committerTristan Gingold <tgingold@free.fr>2017-05-23 08:04:11 +0200
commit03180e7b81656b1f941ab1812c7ff632b783775f (patch)
tree4204bd993fb8093101124d7bea72b3a420ae70f6
parentd29431d443b497dae9f07d6c9dc82213669f92ed (diff)
downloadghdl-03180e7b81656b1f941ab1812c7ff632b783775f.tar.gz
ghdl-03180e7b81656b1f941ab1812c7ff632b783775f.tar.bz2
ghdl-03180e7b81656b1f941ab1812c7ff632b783775f.zip
Build grt to lib/ subdir.
For #352
-rw-r--r--Makefile.in20
-rw-r--r--src/grt/Makefile.inc9
2 files changed, 12 insertions, 17 deletions
diff --git a/Makefile.in b/Makefile.in
index 342ca567b..dfaabc481 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -224,7 +224,7 @@ copy-sources.gcc: version.ads
libs.vhdl.gcc:
$(MAKE) -f $(srcdir)/libraries/Makefile.inc $(LIBVHDL_FLAGS_TO_PASS) GHDL=$(bindir)/ghdl$(EXEEXT) GHDL_FLAGS="$(LIB_CFLAGS)" vhdl.libs.all libs.vhdl.standard
-ghdllib: libs.vhdl.gcc libgrt.a
+ghdllib: libs.vhdl.gcc $(libdirsuffix)/libgrt.a
install.gcc: install.vhdllib install.grt install.vpi
@@ -241,15 +241,6 @@ ghdl_gcc$(EXEEXT): version.ads force
$(GNATMAKE) $(GHDL_GCC_INCFLAGS) -aI$(srcdir)/src/ghdldrv \
$(GNATFLAGS) ghdl_gcc $(GNAT_BARGS) -largs $(GNAT_LARGS)
-grt.links:
- cd $(libdirsuffix); \
- ln -sf $(libdirreverse)/grt.lst .; \
- ln -sf $(libdirreverse)/libgrt.a .; \
- ln -sf $(libdirreverse)/grt.ver .; \
- if test "x$(LIBBACKTRACE)" != x; then \
- ln -sf $(libdirreverse)/libbacktrace.a .; \
- fi
-
libs.vhdl.local_gcc: ghdl_gcc$(EXEEXT) ghdl1-gcc$(EXEEXT)
$(MAKE) -f $(srcdir)/libraries/Makefile.inc $(LIBVHDL_FLAGS_TO_PASS) GHDL=$(PWD)/ghdl_gcc$(EXEEXT) GHDL_FLAGS="--GHDL1=$(PWD)/ghdl1-gcc$(EXEEXT) $(LIB_CFLAGS)" vhdl.libs.all libs.vhdl.standard
@@ -380,9 +371,9 @@ ghwlib.o: $(srcdir)/src/grt/ghwlib.c $(srcdir)/src/grt/ghwlib.h
############### grt #####################################################
-install.grt: libgrt.a grt.lst install.dirs
- $(INSTALL_DATA) libgrt.a $(DESTDIR)$(VHDL_LIB_DIR)/libgrt.a
- $(INSTALL_DATA) grt.lst $(DESTDIR)$(VHDL_LIB_DIR)/grt.lst
+install.grt: $(libdirsuffix)/libgrt.a $(libdirsuffix)/grt.lst install.dirs
+ $(INSTALL_DATA) $(libdirsuffix)/libgrt.a $(DESTDIR)$(VHDL_LIB_DIR)/libgrt.a
+ $(INSTALL_DATA) $(libdirsuffix)/grt.lst $(DESTDIR)$(VHDL_LIB_DIR)/grt.lst
$(INSTALL_DATA) $(GRTSRCDIR)/grt.ver $(DESTDIR)$(VHDL_LIB_DIR)/grt.ver
test "x$(LIBBACKTRACE)" = x || $(INSTALL_DATA) $(LIBBACKTRACE) \
$(DESTDIR)$(VHDL_LIB_DIR)/libbacktrace.a
@@ -442,7 +433,8 @@ clean: force
$(RM) -f *.o *.ali b~*.ad? *~ *.d b__*.ad? *.a *.so *.deps *.bexch version.* *.dll *.dylib
$(RM) -f ghdl_gcc$(EXEEXT) ghdl_mcode$(EXEEXT) ghdl$(EXEEXT) ghdl_llvm$(EXEEXT) ghdl_llvm_jit$(EXEEXT) ghdl_simul$(EXEEXT)
$(RM) -f ghdl1-gcc$(EXEEXT) ghdl1-llvm$(EXEEXT) ghdl1-debug$(EXEEXT)
- $(RM) -f run-bind.ad? grt.lst grt-files grt-files.in
+ $(RM) -f grt/run-bind.ad? grt.lst grt/grt-files grt/grt-files.in
+ $(RM) -f grt/*.o grt/*.ali
$(RM) -rf lib
$(MAKE) create-dirs
diff --git a/src/grt/Makefile.inc b/src/grt/Makefile.inc
index 7d31c652f..8e6a19648 100644
--- a/src/grt/Makefile.inc
+++ b/src/grt/Makefile.inc
@@ -95,9 +95,9 @@ GRT_PRAGMA_FLAG=-gnatec$(GRTSRCDIR)/grt.adc -gnat05 -gnatdY
# Rule to compile an Ada file.
GRT_ADACOMPILE=$(GNATMAKE) -u -c $(GRT_FLAGS) $(GRT_PRAGMA_FLAG)
-grt-all: libgrt.a $(GRT_LIBBACKTRACE) grt.lst
+grt-all: $(libdirsuffix)/libgrt.a $(libdirsuffix)/$(GRT_LIBBACKTRACE) $(libdirsuffix)/grt.lst $(libdirsuffix)/grt.ver
-libgrt.a: $(GRT_ADD_OBJS) grt/run-bind.o grt/main.o grt/grt-files
+$(libdirsuffix)/libgrt.a: $(GRT_ADD_OBJS) grt/run-bind.o grt/main.o grt/grt-files
$(RM) -f $@
$(AR) rcv $@ `sed -e "/^-/d" -e "s!^!grt/!" < grt/grt-files` \
$(GRT_ADD_OBJS) grt/run-bind.o grt/main.o
@@ -208,7 +208,7 @@ grt/grt-files.in: grt/grt-files
sed -e "\!^.[/\\]!d" -e "/-shared/d" -e "/-static/d" -e "/-lgnat/d" \
-e "\X-L/Xd" < $< > $@
-grt.lst: grt/grt-files.in
+$(libdirsuffix)/grt.lst: grt/grt-files.in
echo "@/libgrt.a" > $@
ifdef GRT_EXTRA_LIB
for i in $(GRT_EXTRA_LIB); do echo $$i >> $@; done
@@ -218,6 +218,9 @@ ifneq ($(LIBBACKTRACE),)
endif
cat $< >> $@
+$(libdirsuffix)/grt.ver: $(GRTSRCDIR)/grt.ver
+ cp $< $@
+
ifneq ($(GRT_LIBBACKTRACE),)
$(GRT_LIBBACKTRACE): $(LIBBACKTRACE)
cp $< $@