]> rtime.felk.cvut.cz Git - hercules2020/hercules-compiler.git/blobdiff - Makefile
Updated HerculesCompiler submodule
[hercules2020/hercules-compiler.git] / Makefile
index 938764d22b76dc42b90c6783ba534790e38e83a3..3991a2d85e7f1b77984a56197039b7cb496e3379 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,12 @@
 PREFIX ?= $(HOME)/opt/hercules-compiler
 TMP_DESTDIR = $(CURDIR)/install
 
-all: passes libpremnotify-cpu
+# With gcc > 5, we get strange CUDA-related errors in clang.
+export CC = gcc-5
+export CXX = g++-5
+
+all: libpremnotify
+all: passes
 
 llvm-clang: build/bin/opt
 
@@ -22,8 +27,8 @@ ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
 LLVM_TBLGEN=$(CURDIR)/build_native/bin/llvm-tblgen
 CLANG_TBLGEN=$(CURDIR)/build_native/bin/clang-tblgen
 
-LLVM_CROSS_FLAGS += -DCMAKE_C_COMPILER=$(DEB_HOST_GNU_TYPE)-gcc
-LLVM_CROSS_FLAGS += -DCMAKE_CXX_COMPILER=$(DEB_HOST_GNU_TYPE)-g++
+LLVM_CROSS_FLAGS += -DCMAKE_C_COMPILER=$(DEB_HOST_GNU_TYPE)-gcc-5
+LLVM_CROSS_FLAGS += -DCMAKE_CXX_COMPILER=$(DEB_HOST_GNU_TYPE)-g++-5
 LLVM_CROSS_FLAGS += -DCMAKE_SYSTEM_PROCESSOR=$(DEB_HOST_GNU_CPU)
 
 LLVM_CROSS_FLAGS += -DCMAKE_CROSSCOMPILING=True
@@ -46,8 +51,10 @@ build_native/build.ninja: | build_native
        cd $(@D) && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$(PREFIX)" \
                -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_BACKTRACES=ON -DLLVM_ENABLE_WERROR=OFF \
                -DBUILD_SHARED_LIBS=OFF -DLLVM_ENABLE_RTTI=ON \
-               -DCMAKE_CXX_FLAGS='-DHERCULES_PASS_ROOT=\"$(PREFIX)/lib/hercules\"' \
+               -DCMAKE_CXX_FLAGS='-DHERCULES_PASS_ROOT=\"$(PREFIX)/lib/hercules/\"' \
                -G "Ninja" $(CURDIR)/llvm
+
+libpremnotify: export CC=$(DEB_HOST_GNU_TYPE)-gcc-5
 endif
 
 
@@ -55,7 +62,7 @@ build/build.ninja: | build llvm/tools/clang llvm/projects/openmp
        cd $(@D) && cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX="$(PREFIX)" \
                -DLLVM_ENABLE_ASSERTIONS=ON -DLLVM_ENABLE_BACKTRACES=ON -DLLVM_ENABLE_WERROR=OFF \
                -DBUILD_SHARED_LIBS=OFF -DLLVM_ENABLE_RTTI=ON $(LLVM_CROSS_FLAGS) \
-               -DCMAKE_CXX_FLAGS='-DHERCULES_PASS_ROOT=\"$(PREFIX)/lib/hercules\"' \
+               -DCMAKE_CXX_FLAGS='-DHERCULES_PASS_ROOT=\"$(PREFIX)/lib/hercules/\"' \
                -G "Ninja" $(CURDIR)/llvm
 
 $(TMP_DESTDIR)/$(PREFIX)/lib/cmake/llvm: | llvm-clang
@@ -77,7 +84,7 @@ $(DESTDIR)$(PREFIX)/bin/herculesCompileCPU.sh: HerculesCompiler/cpu-driver/hercu
                < $< > $@
        chmod +x $@
 
-libpremnotify-cpu:
+libpremnotify:
        $(MAKE) -C HerculesCompiler/libpremnotify
 
 install: all
@@ -87,16 +94,13 @@ install: all
        $(MAKE) -C HerculesCompiler/libpremnotify install DESTDIR=$(DESTDIR) PREFIX=$(PREFIX)
 
 clean:
-       rm -rf build build_passes install
-
-define tar_concat
-$(foreach subarch,$(shell git submodule --quiet foreach 'echo $$toplevel/../$(prefix)-$$path.tar'),tar --concatenate --file=../$(prefix).tar $(subarch)
-)
-endef
+       rm -rf build build_passes build_native install
 
 create-orig-tgz: prefix=$(notdir $(CURDIR))
+create-orig-tgz: upstream_version=$(shell dpkg-parsechangelog --show-field Version|sed -e s/-.*//)
 create-orig-tgz:
-       git archive --format=tar --prefix=$(prefix)/ -o ../$(prefix).tar HEAD
-       git submodule foreach 'git archive --format=tar --prefix=$(prefix)/$$path/ -o $$toplevel/../$(prefix)-$$path.tar HEAD'
-       $(tar_concat)
-       gzip -c ../$(prefix).tar > "../$(prefix)_$(shell dpkg-parsechangelog --show-field Version|sed -e s/-.*//).orig.tar.gz"
+       git archive --prefix=$(prefix)/ -o ../$(prefix)_$(upstream_version).orig.tar.gz HEAD
+       git submodule foreach 'set -x; git archive --prefix=$$path/ -o $$toplevel/../$(prefix)_$(upstream_version).orig-$$path.tar.gz $$sha1'
+
+cross-tx2:
+       sbuild --host=arm64 -d xenial --add-depends="libc6-dev, libstdc++-5-dev" --build-failed-commands='%s'