diff options
author | Tristan Gingold <tgingold@free.fr> | 2014-11-08 11:22:17 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2014-11-08 11:22:17 +0100 |
commit | 002b207d916c64b88a3bb691ee6c239139f49433 (patch) | |
tree | f8a71bab91f90b2536dd09a552e5a0b09fe56166 /Makefile.in | |
parent | 81a5560849a767b6eb1a536dacc43f475780c1e9 (diff) | |
download | ghdl-002b207d916c64b88a3bb691ee6c239139f49433.tar.gz ghdl-002b207d916c64b88a3bb691ee6c239139f49433.tar.bz2 ghdl-002b207d916c64b88a3bb691ee6c239139f49433.zip |
Add instructions for llvm (WIP).
Diffstat (limited to 'Makefile.in')
-rw-r--r-- | Makefile.in | 39 |
1 files changed, 29 insertions, 10 deletions
diff --git a/Makefile.in b/Makefile.in index 753fb792b..900b38057 100644 --- a/Makefile.in +++ b/Makefile.in @@ -24,6 +24,7 @@ backend=@backend@ libdirsuffix=@libdirsuffix@ libdirreverse=@libdirreverse@ gcc_src_dir=@gcc_src_dir@ +llvm_prefix=@llvm_prefix@ INSTALL_PROGRAM=install -m 755 INSTALL_DATA=install -m 644 @@ -38,7 +39,7 @@ GRT_RANLIB=ranlib VHDL_LIB_DIR=$(prefix)/$(libdirsuffix) ADAC=$(CC) -GNATFLAGS=-gnaty3befhkmr -gnatwael -aO. -g -gnatf -gnat05 +GNATFLAGS=-gnaty3befhkmr -gnata -gnatwael -aO. -g -gnatf -gnat05 GRT_FLAGS=-g LIB_CFLAGS=-g -O2 @@ -62,8 +63,6 @@ target=$(build) #target=x86_64-apple-darwin #target=i386-pc-mingw32 -LLVM_CONFIG=llvm-config - all: Makefile all.$(backend) install: install.$(backend) @@ -82,7 +81,9 @@ all.mcode: ghdl.mcode libs.vhdl.mcode GRTSRCDIR=$(srcdir)/src/grt include $(GRTSRCDIR)/Makefile.inc -GHDL_MCODE_INCFLAGS=-aI$(srcdir)/src -aI$(srcdir)/src/vhdl -aI$(srcdir)/src/psl -aI$(srcdir)/src/ghdldrv -aI$(srcdir)/src/grt -aI$(srcdir)/src/vhdl/translate -aI$(srcdir)/src/ortho/mcode -aI$(srcdir)/src/ortho +GHDL_COMMON_INCFLAGS=-aI$(srcdir)/src -aI$(srcdir)/src/vhdl -aI$(srcdir)/src/psl -aI$(srcdir)/src/vhdl/translate -aI$(srcdir)/src/ortho + +GHDL_MCODE_INCFLAGS=$(GHDL_COMMON_INCFLAGS) -aI$(srcdir)/src/ghdldrv -aI$(srcdir)/src/grt -aI$(srcdir)/src/ortho/mcode ghdl.mcode: GRT_FLAGS+=-DWITH_GNAT_RUN_TIME ghdl.mcode: $(GRT_ADD_OBJS) $(ORTHO_DEPS) memsegs_c.o chkstk.o force @@ -145,19 +146,34 @@ grt.links: #################### For llvm backend ############################## +LLVM_CONFIG=$(llvm_prefix)/bin/llvm-config + +GHDL_LLVM_INCFLAGS=$(GHDL_COMMON_INCFLAGS) -aI$(srcdir)/src/ghdldrv -aI$(srcdir)/src/grt -aI$(srcdir)/src/ortho/llvm + +all.llvm: ghdl_llvm_jit + ghdl_llvm_jit: GRT_FLAGS+=-DWITH_GNAT_RUN_TIME ghdl_llvm_jit: $(GRT_ADD_OBJS) $(ORTHO_DEPS) llvm-cbindings.o force - $(GNATMAKE) -o $@ -aI../../ortho/llvm -aI../../ortho $(GNATFLAGS) ghdl_jit.adb $(GNAT_BARGS) -largs llvm-cbindings.o $(GNAT_LARGS) $(GRT_ADD_OBJS) $(subst @,$(GRTSRCDIR),$(GRT_EXTRA_LIB)) `$(LLVM_CONFIG) --ldflags --libs --system-libs` -lc++ + $(GNATMAKE) -o $@ $(GHDL_LLVM_INCFLAGS) $(GNATFLAGS) ghdl_jit.adb $(GNAT_BARGS) -largs llvm-cbindings.o $(GNAT_LARGS) $(GRT_ADD_OBJS) $(subst @,$(GRTSRCDIR),$(GRT_EXTRA_LIB)) `$(LLVM_CONFIG) --ldflags --libs --system-libs` -lc++ -llvm-cbindings.o: ../../ortho/llvm/llvm-cbindings.cpp +llvm-cbindings.o: $(srcdir)/src/ortho/llvm/llvm-cbindings.cpp $(CXX) -c -m64 `$(LLVM_CONFIG) --includedir --cxxflags` -g -o $@ $< +ghdl_llvm: force + $(GNATMAKE) $(GHDL_LLVM_INCFLAGS) -aI$(srcdir)/src/ghdldrv $(GNATFLAGS)\ + ghdl_llvm $(GNAT_BARGS) -largs $(GNAT_LARGS) + +ghdl1-llvm: force + $(MAKE) -f $(srcdir)/src/ortho/llvm/Makefile \ + ortho_srcdir=$(srcdir)/src/ortho ortho_exec=$@ \ + GNAT_FLAGS="$(GHDL_LLVM_INCFLAGS) $(GNATFLAGS)" \ + LLVM_CONFIG="$(LLVM_CONFIG)" all + +################ For simul (no code generation, interpretation) ########## + ghdl_simul: $(GRT_ADD_OBJS) force $(GNATMAKE) -aI../../simulate $(GNATFLAGS) ghdl_simul $(GNAT_BARGS) -largs $(GNAT_LARGS) $(GRT_ADD_OBJS) $(subst @,$(GRTSRCDIR),$(GRT_EXTRA_LIB)) -ghdl_llvm: force - $(GNATMAKE) $(GNATFLAGS) ghdl_llvm $(GNAT_BARGS) -largs $(GNAT_LARGS) - ################ Libraries ############################################### LIB87_DIR:=$(libdirsuffix)/v87 @@ -224,9 +240,12 @@ libs.vhdl.mcode: libs.vhdl.all libs.vhdl.simul: $(MAKE) GHDL=ghdl_simul libs.vhdl.all +libs.vhdl.llvmjit: + $(MAKE) GHDL=ghdl_llvm_jit libs.vhdl.all + libs.vhdl.llvm: $(MAKE) GHDL=ghdl_llvm libs.vhdl.all - $(MAKE) GHDL1=./ghdl1-llvm lib.vhdl.standard + $(MAKE) GHDL1=./ghdl1-llvm libs.vhdl.standard install.dirs: [ -d $(DESTDIR)$(prefix) ] || $(MKDIR) -p $(DESTDIR)$(prefix) |