TARGET_EXE=synth_shed TARGET_MODULE=synth_shed.so PREFIX=/Users/heck/local-default # C CFLAGS+=-std=c99 -g # C++ CXX=clang CXXFLAGS+=-std=c++11 -g # Sources SRCS_C+=$(wildcard *.c) SRCS_CXX+=$(wildcard *.cc) # deps INCLUDES+=-I/opt/local/Library/Frameworks/Python.framework/Versions/3.8/include/python3.8 INCLUDES+=-I$(PREFIX)/include #Link C_LDFLAGS+= CXX_LDFLAGS+=-undefined dynamic_lookup CXXFLAGS+=$(INCLUDES) OBJS_C+=$(SRCS_C:.c=.o) OBJS_CXX+=$(SRCS_CXX:.cc=.o) OBJS = $(OBJS_C) $(OBJS_CXX) $(info -----BUILD INFO----) $(info SRCS_C $(SRCS_C)) $(info SRCS_CXX $(SRCS_CXX)) $(info OBJS_C $(OBJS_C)) $(info OBJS_CXX $(OBJS_CXX)) $(info OBJS $(OBJS)) .PHONY: all exe module clean all: exe module exe: $(TARGET_EXE) module: $(TARGET_MODULE) $(TARGET_EXE) : $(OBJS_C) $(CC) $(C_LDFLAGS) -o $@ $^ $(TARGET_MODULE) : $(OBJS) $(CXX) $(CXX_LDFLAGS) -o $@ $^ clean: rm -f $(TARGET_EXE) rm -f $(TARGET_MODULE) rm -f $(OBJS)