1UNAME_S := $(shell uname -s)
 2
 3ifeq ($(UNAME_S),Linux)
 4	LLVM_PREFIX := /usr/lib/llvm/21
 5	CXX := clang++
 6	CC  := clang
 7	CXXFLAGS := -I$(LLVM_PREFIX)/include -std=c++17
 8	LDFLAGS := -L$(LLVM_PREFIX)/lib -Wl,-rpath,$(LLVM_PREFIX)/lib -llldb
 9endif
10
11ifeq ($(UNAME_S),Darwin)
12	LLVM_PREFIX := /System/Volumes/Data/opt/homebrew/Cellar/llvm/21.1.8
13	CXX := $(LLVM_PREFIX)/bin/clang++
14	CC  := $(LLVM_PREFIX)/bin/clang
15	SDKROOT := $(shell xcrun --show-sdk-path)
16	CXXFLAGS := -isysroot $(SDKROOT) -I$(LLVM_PREFIX)/include -std=c++17 -stdlib=libc++
17	LDFLAGS := -L$(LLVM_PREFIX)/lib -Wl,-rpath,$(LLVM_PREFIX)/lib -llldb
18endif
19
20all: tdbg example
21
22tdbg: tdbg.cpp
23	$(CXX) tdbg.cpp -o tdbg $(CXXFLAGS) $(LDFLAGS)
24
25example: example.c
26	$(CC) -g -o example example.c
27
28clean:
29	rm -f tdbg example