ezc/src/Makefile

47 lines
1.0 KiB
Makefile

include Makefile.o.dep
libname=ezc.a
ifndef GLOBAL_WORKING_DIR
GLOBAL_WORKING_DIR := $(shell pwd)/../..
endif
current_path := $(shell pwd)
global_relative_working_dir := $(shell relative_path $(current_path) $(GLOBAL_WORKING_DIR))
all: $(libname)
$(libname): $(o)
ar rcs $(libname) $(o)
additionalinclude =
ifdef EZC_USE_WINIX_LOGGER
additionalinclude = $(EZC_ADDITIONAL_INCLUDE)
endif
%.o: %.cpp
$(CXX) -c $(CXXFLAGS) -I$(GLOBAL_WORKING_DIR)/pikotools $(additionalinclude) $<
depend:
# we do not use $(additionalinclude) here because the dependencies would be added to the repository
# and messes other projects
# !! IMPROVE ME
# as Ezc is a different project we rather shoudn't use '-I$(global_relative_working_dir)/pikotools' here?
makedepend -Y. -I$(global_relative_working_dir)/pikotools -f- *.cpp > Makefile.dep
echo -n "o = " > Makefile.o.dep
ls -1 *.cpp | xargs -I foo echo -n foo " " | sed -E "s/([^\.]*)\.cpp[ ]/\1\.o/g" >> Makefile.o.dep
clean:
rm -f *.o
rm -f $(libname)
include Makefile.dep