diff --git a/Makefile b/Makefile index ed82317..4b4307e 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,3 @@ - .PHONY : default debug clean make = make @@ -10,10 +9,20 @@ else ifeq ($(plt), OpenBSD) endif default: +ifeq ($(plt), Darwin) + @$(make) -C src -f Mac.mk + @$(make) -C src -f Makefile predixy +else @$(make) -C src -f Makefile +endif debug: - @$(make) -C src -f Makefile debug +ifeq ($(plt), Darwin) + @$(make) -C src -f Mac.mk + @$(make) -C src -f Makefile LVL=-g predixy +else + @$(make) -C src -f Makefile LVL=-g +endif clean: @$(make) -C src -f Makefile clean diff --git a/src/Makefile b/src/Makefile index 46b6787..7c9d8aa 100644 --- a/src/Makefile +++ b/src/Makefile @@ -22,7 +22,10 @@ ifeq ($(EV), auto) else ifeq ($(plt), Darwin) EV = kqueue Opts += -D_PREDIXY_BACKTRACE_ - LDLIBCPP = -static-libstdc++ + CXX = c++ + CFLAGS += -stdlib=libc++ + LDLIBCPP = + INCFLAGS += -I/Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk/usr/include/c++/v1 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk else ifeq ($(plt), FreeBSD) EV = kqueue Opts += -D_PREDIXY_BACKTRACE_ @@ -102,6 +105,10 @@ default: $(target) $(target): $(objs) $(CXX) $(CFLAGS) -o $@ $^ $(LDFLAGS) +# Special target for macOS to use pre-compiled objects +predixy: + $(CXX) $(CFLAGS) -o $(target) *.o $(LDFLAGS) + debug: @make LVL=-g @@ -110,5 +117,5 @@ clean: @echo Done. %.o : %.cpp - $(CXX) $(CFLAGS) -c $^ $(INCFLAGS) + $(CXX) $(CFLAGS) $(INCFLAGS) -c $^