export CC = clang export CXX = clang++ export SYSTEMC_HOME := $(PWD)/INSTALL SRCS = $(wildcard *.cc) BINS = $(SRCS:%.cc=BUILD/UTIL/%) # -- SYSTEMC UTILS ------------------------------------------------------------- run: build @for B in $(BINS); do \ echo "==> $$B"; \ $$B; \ done build: INSTALL/lib/libsystemc.a BUILD/UTIL $(SRCS) ninja -C BUILD/UTIL BUILD/UTIL: CMakeLists.txt cmake -B $@ -S . \ -G Ninja \ -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ -DCMAKE_BUILD_TYPE=DEBUG \ #-DCMAKE_FIND_DEBUG_MODE=ON #ninja -C $@ -t compdb > compile_commands.json # -- SYSTEMC ------------------------------------------------------------------- INSTALL/lib/libsystemc.a: BUILD/SYSC ninja -C BUILD/SYSC install BUILD/SYSC: systemc cmake -B $@ -S systemc \ -G Ninja \ -DCMAKE_EXPORT_COMPILE_COMMANDS=1 \ -DCMAKE_BUILD_TYPE=DEBUG \ -DCMAKE_INSTALL_PREFIX=$(PWD)/INSTALL \ -DBUILD_SHARED_LIBS=OFF \ -DCMAKE_CXX_STANDARD=14 systemc: git clone --depth=1 https://github.com/accellera-official/systemc.git # -- UTIL ---------------------------------------------------------------------- fmt: clang-format -i *.cc *.h # -- CLEAN --------------------------------------------------------------------- clean: $(RM) -r BUILD/UTIL compile_commands.json distclean: clean $(RM) -r BUILD INSTALL systemc