sourcefiles:=$(shell find . -name "*.cpp") objfiles:=$(patsubst %.cpp,%.o,$(sourcefiles)) GLOBAL_WORKING_DIR := $(shell pwd)/../../.. CXX = g++10 CXXFLAGS = -Wall -pedantic -O0 -g -std=c++20 -I$(GLOBAL_WORKING_DIR)/pikotools/src -I$(GLOBAL_WORKING_DIR)/ezc/src -I$(GLOBAL_WORKING_DIR)/morm/src -I/usr/local/include -DEZC_HAS_MORM_LIBRARY -DMORM_HAS_EZC_LIBRARY LDFLAGS = -L/usr/local/lib export CXX export CXXFLAGS export LDFLAGS progname = winix all: $(progname) $(progname): $(objfiles) pikotools morm ezc $(CXX) -o $(progname) $(CXXFLAGS) $(LDFLAGS) $(objfiles) $(GLOBAL_WORKING_DIR)/ezc/src/ezc.a $(GLOBAL_WORKING_DIR)/morm/src/morm.a $(GLOBAL_WORKING_DIR)/pikotools/src/pikotools.a %.o: %.cpp $(CXX) -c $(CXXFLAGS) -o $@ $< .PHONY: pikotools .PHONY: morm .PHONY: ezc pikotools: $(MAKE) -C ../../../pikotools morm: $(MAKE) -C ../../../morm/src ezc: $(MAKE) -C ../../../ezc/src clean: rm -f $(objfiles) rm -f $(progname) $(MAKE) -C ../../../pikotools clean $(MAKE) -C ../../../morm/src clean $(MAKE) -C ../../../ezc/src clean depend: makedepend -Y. -f- $(sourcefiles) > Makefile.dep -include Makefile.dep