diff --git a/Makefile b/Makefile index 4c96ae7..9e1a2e3 100755 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ # Setup make itself. .ONESHELL: -override SHELL := /bin/bash +SHELL := bash override .SHELLFLAGS := -e -u -o pipefail -O nullglob -O extglob -O globstar -c # Unset all default build- and recipe-related variables. @@ -315,7 +315,6 @@ endif GetTargetStructName = target[${1}] makefiles_to_include := \ - third_party/Build.*.mk \ frontends/*/Build.mk \ tests/*/Build.mk \ lib/*/Build.mk diff --git a/frontends/systemverilog/Build.mk b/frontends/systemverilog/Build.mk index acd9cb6..c039994 100644 --- a/frontends/systemverilog/Build.mk +++ b/frontends/systemverilog/Build.mk @@ -1,6 +1,7 @@ t := systemverilog-plugin ts := $(call GetTargetStructName,${t}) out_dir := $(call GetTargetBuildDir,${t}) +mod_dir := third_party/yosys_mod cxx_is_clang := $(findstring clang,$(notdir ${CXX})) @@ -13,9 +14,9 @@ ${ts}.sources := \ ${${ts}.src_dir}uhdm_ast_frontend.cc \ ${${ts}.src_dir}uhdm_common_frontend.cc \ ${${ts}.src_dir}uhdm_surelog_ast_frontend.cc \ - ${$(call GetTargetStructName,yosys).mod_dir}const2ast.cc \ - ${$(call GetTargetStructName,yosys).mod_dir}edif.cc \ - ${$(call GetTargetStructName,yosys).mod_dir}simplify.cc + $(mod_dir)/const2ast.cc \ + $(mod_dir)/edif.cc \ + $(mod_dir)/simplify.cc define ${ts}.env = export PKG_CONFIG_PATH=$(call ShQuote,${$(call GetTargetStructName,surelog).output_vars.PKG_CONFIG_PATH}$(if ${PKG_CONFIG_PATH},:${PKG_CONFIG_PATH})) @@ -35,8 +36,8 @@ endif endif ${ts}.cxxflags = \ - -I${$(call GetTargetStructName,yosys).src_dir} \ - -I${$(call GetTargetStructName,yosys).mod_dir} \ + -I$(shell yosys-config --cxxflags) \ + -I$(mod_dir) \ -D_YOSYS_ \ -DYOSYS_ENABLE_PLUGINS \ $(shell ${${ts}.env}; pkg-config --cflags Surelog) \ @@ -55,7 +56,7 @@ ${ts}.ldflags = \ $(shell ${${ts}.env}; pkg-config --libs-only-L Surelog) \ ${build_type_ldflags} \ ${LDFLAGS} \ - -Wl,--export-dynamic + $(shell yosys-config --ldflags --ldlibs) ${ts}.ldlibs = \ $(shell ${${ts}.env}; pkg-config --libs-only-l --libs-only-other Surelog) \