summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2015-02-01 13:38:46 +0100
committerClifford Wolf <clifford@clifford.at>2015-02-01 13:38:46 +0100
commit1df81f92ce171ba63cf0e4d10e6f203ca5f7f64e (patch)
tree4a8ecd5d257d5e90cb1f02984d05089bedaa9143 /Makefile
parent3fe2441185057a5d563fb32157f52a7b6c4205fd (diff)
Added "make mklibyosys", some minor API changes
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile14
1 files changed, 14 insertions, 0 deletions
diff --git a/Makefile b/Makefile
index 2e6b0e9e..1ca7f2fb 100644
--- a/Makefile
+++ b/Makefile
@@ -335,6 +335,20 @@ qtcreator:
{ echo .; find backends frontends kernel libs passes -type f \( -name '*.h' -o -name '*.hh' \) -printf '%h\n' | sort -u; } > qtcreator.includes
touch qtcreator.config qtcreator.creator
+mklibyosys: $(OBJS) $(GENFILES) $(EXTRA_TARGETS)
+ rm -rf libyosys
+ mkdir -p libyosys/include libyosys/objs
+ set -e; for f in $(wildcard $(filter %.cc %.cpp,$(GENFILES)) $(addsuffix .cc,$(basename $(OBJS))) $(addsuffix .cpp,$(basename $(OBJS))) 2>/dev/null); do \
+ echo "Analyse: $$f" >&2; cpp -std=gnu++0x -MM -I. -D_YOSYS_ $$f; done | sed 's,.*:,,; s,//*,/,g; s,/[^/]*/\.\./,/,g; y, \\,\n\n,;' | \
+ grep '^[^/]' | sort -u | grep -v kernel/version_ | grep '\.\(h\|hh\)$$' | xargs cp -t libyosys/include/
+ sed -i 's/^\(# *include *"\)[^"]*\//\1/' libyosys/include/*
+ { echo "#ifndef YOSYS_CONFIG_H"; echo "#define YOSYS_CONFIG_H"; for opt in $(CXXFLAGS); do [[ "$$opt" == -D* ]] || continue; V="$${opt#-D}"; N="$${V%=*}"; \
+ V="$${V#*=}"; [ "$$V" = "$$N" ] && echo "#define $$N" || echo "#define $$N $$V"; done; echo "#endif"; } > libyosys/include/config.h
+ sed -i '/^#define YOSYS_H/ { p; s/.*/#include "config.h"/; };' libyosys/include/yosys.h
+ cp $(filter-out kernel/driver.o,$(OBJS)) libyosys/objs/
+ cp tests/simple/fiedler-cooley.v libyosys/example.v
+ cp misc/example.cc libyosys/example.cc
+
vcxsrc: $(GENFILES) $(EXTRA_TARGETS)
rm -rf yosys-win32-vcxsrc-$(YOSYS_VER){,.zip}
set -e; for f in $(wildcard $(filter %.cc %.cpp,$(GENFILES)) $(addsuffix .cc,$(basename $(OBJS))) $(addsuffix .cpp,$(basename $(OBJS))) 2>/dev/null); do \