47 lines
1.0 KiB
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
|