RAPIDYAML_OBJ = $(shell find * -type f -name "*.cpp" | sed -e "s/\.cpp/\.o/g") RAPIDYAML_DIR_OBJ = $(RAPIDYAML_OBJ:%=obj/%) RAPIDYAML_H = $(shell find * -type f -name "*.h*") RAPIDYAML_AR = obj/ryml.a CXXFLAG =-std=c++11 INC=-Isrc -Iext/c4core/src @SET_MAKE@ ##################################################################### .PHONY : all clean help rapidyaml all: rapidyaml clean: @echo " CLEAN rapidyaml" @rm -rf obj *.o help: @echo "possible targets are 'all' 'clean' 'help'" @echo "'rapidyaml' - build $(RAPIDYAML_AR) @echo "'all' - builds $(RAPIDYAML_DIR_OBJ)" @echo "'clean' - deletes $(RAPIDYAML_DIR_OBJ)" @echo "'help' - outputs this message" ##################################################################### obj: @echo " MKDIR obj/src/c4/yml" @echo " MKDIR obj/ext/c4core/src/c4" @mkdir -p obj/src/c4/yml @mkdir -p obj/ext/c4core/src/c4 obj/%.o: %.cpp $(RAPIDYAML_H) @echo " CXX $<" @@CXX@ $(CXXFLAG) @CFLAGS_AR@ @CPPFLAGS@ -g $(INC) -c $(OUTPUT_OPTION) $< rapidyaml: obj $(RAPIDYAML_DIR_OBJ) $(RAPIDYAML_AR) $(RAPIDYAML_AR): $(RAPIDYAML_DIR_OBJ) @echo " AR $@" @@AR@ rcs obj/ryml.a $(RAPIDYAML_DIR_OBJ)