Makefile (893B)
1 include config.mk 2 3 all: quick_build 4 5 quick_build: 6 $(MAKE) -j39 build 7 8 install: 9 install $(BIN) $(INSTALL)$(PROJECT) 10 11 bin: 12 @[ -d bin ] || mkdir bin 13 14 obj: 15 @[ -d obj ] || mkdir obj 16 17 build: bin obj ${OBJ_FILES} tags deps 18 ${CC} ${CXXFLAGS} ${OBJ_FILES} ${LDFLAGS} -o ${TARGET} 19 20 -include $(DEPS) 21 22 obj/%.o: obj 23 obj/%.o: src/%.cc 24 ${CC} ${CXXFLAGS} -MMD -MP -c $< -o $@ 25 26 obj/%.o: src/ui/%.cc 27 ${CC} ${CXXFLAGS} -MMD -MP -c $< -o $@ 28 29 obj/%.o: src/ui/statusbar/%.cc 30 ${CC} ${CXXFLAGS} -MMD -MP -c $< -o $@ 31 32 obj/%.o: src/ui/tabbar/%.cc 33 ${CC} ${CXXFLAGS} -MMD -MP -c $< -o $@ 34 35 %.moc.cc: %.hh 36 moc $< -o $@ 37 38 run: 39 @echo -n running 40 @./${BIN} 41 42 .PHONY: tags 43 tags: 44 @ctags -R --exclude=.git --c++-kinds=+p --fields=+iaS --extras=+q . 45 46 .PHONY: deps 47 deps: 48 @echo ${CXXFLAGS} | tr " " "\n" >| .ccls 49 50 .PHONY: clean 51 clean: 52 @echo cleaning 53 @rm -rf ./bin ./release ./obj ./src/ui{,/statusbar,/tabbar}/*.moc.cc