.POSIX: .PHONY: all clean check install uninstall CXXFLAGS += -g -std=c++23 -Wextra -Werror LDLIBS += -lcommon -ldyninstAPI -linstructionAPI -lparseAPI # dyninst PREFIX ?= /usr/local BIN_PREFIX ::= $(DESTDIR)$(PREFIX)/bin/taosc- DATA_DIR ::= $(DESTDIR)$(PREFIX)/share/taosc BIN ::= fix measure-stack reach scout synth trace-call DATA ::= collect cover jump patch all: $(BIN) $(DATA) clean: rm -f $(BIN) $(DATA) fix: fix.m4 m4 -D DATA_DIR=$(DATA_DIR) $< > $@ measure-stack: measure-stack.o helpers.o $(CXX) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@ scout: scout.o helpers.o $(CXX) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@ trace-call: trace-call.o helpers.o $(CXX) $(LDFLAGS) $^ $(LOADLIBES) $(LDLIBS) -o $@ %: %.zig zig build-exe -O ReleaseSafe $< %: %.c e9compile $< check: synth.zig zig test $< install: $(BIN:%=$(BIN_PREFIX)%) $(DATA:%=$(DATA_DIR)/%) $(BIN_PREFIX)%: % install -Dm 755 $< $@ $(DATA_DIR)/%: % install -Dm 644 $< $@ uninstall: rm -f $(BIN:%=$(BIN_PREFIX)%) $(DATA:%=$(DATA_DIR)/%) rmdir $(DATA_DIR)