CFLAGS+=-I../../include CLEAN_FILES+=`find . -xdev -iname '*~'` $(NAME)-upx upx : $(NAME)-upx ifneq ($(FINAL),) VERY_CLEAN_FILES+=src/final.cpp CPPOBJ:=obj/final.o FINAL_SRC:=$(CPPSRC) $(MOCSRC) $(UICSRC) $(QRCSRC) CPPSRC:=src/final.cpp CFLAGS+=-I../ -I. endif all : mkdirs uic start $(NAME) finish cleandeps : @for i in $(DEPS_CLEAN_FILES); do \ if [ -e $$i ] ; then \ echo -e ["\E[37;34m"'RM '"\E[0m"] $$i; \ $(RM) $$i; \ fi \ done @if [ -e plugins ] ; then \ $(MAKE) -sC plugins cleandeps; \ fi mkdirs : @echo -e ["\E[37;34m"mkdirs"\E[0m"] @for i in $(DIRS); do \ if [ ! -e $$i ] ; then \ echo -e ["\E[37;34m"'mkdir'"\E[0m"] $$i; \ mkdir $$i; \ fi \ done uic : $(UICHPP) final : @$(MAKE) FINAL=1 finaldebug : @$(MAKE) FINAL=1 DEBUG=1 debug : @$(MAKE) DEBUG=1 finalclean : @$(MAKE) FINAL=1 clean finaldebugclean : @$(MAKE) FINAL=1 DEBUG=1 clean finalveryclean : @$(MAKE) FINAL=1 veryclean finaldebugveryclean : @$(MAKE) FINAL=1 DEBUG=1 veryclean runscripts : @echo -e ["\E[37;32m"'MIME'"\E[0m"] qrc/settings/mime.conf @./getmime.pl @echo -e ["\E[37;32m"'QRC '"\E[0m"] qrc/sciq4.qrc @rm -f qrc/sciq4.qrc @./genqrc.pl qrc/sciq4.qrc qrc src/final.cpp : $(FINAL_SRC) @echo -e ["\E[37;36m"'FINAL'"\E[0m"] $^ '>' $@ @$(RM) -f src/final.cpp @for i in $^ ; do \ echo '#include "'$$i'"' >> src/final.cpp; \ done # @$(CC) $(CFLAGS) src/final.cpp -o $(NAME) $(LDFLAGS) $(NAME)-upx : $(NAME) $(UPX) -f $(NAME) -o $(NAME)-upx $(NAME) : $(CPPOBJ) @echo -e ["\E[37;36m"'LD '"\E[0m"] $^ '>' $@ @$(CC) $(CPPOBJ) -o $(NAME) $(LDFLAGS) xmlhandlertest : xmlhandlertest.cpp $(CC) $(CFLAGS) xmlhandlertest.cpp -o xmlhandlertest $(LDFLAGS) obj/%.o : src/%.cpp @echo -e ["\E[37;32m"'CC '"\E[0m"] $< @$(CC) $(CFLAGS) -o $@ -c $< obj/%.o : %.cpp @echo -e ["\E[37;32m"'CC '"\E[0m"] $< @$(CC) $(CFLAGS) -o $@ -c $< obj/moc_%.o : moc/moc_%.cpp @echo -e ["\E[37;32m"'CC '"\E[0m"] $< @$(CC) $(CFLAGS) -o $@ -c $< obj/qrc_%.o : qrc/qrc_%.cpp @echo -e ["\E[37;32m"'CC '"\E[0m"] $< @$(CC) $(CFLAGS) -o $@ -c $< qrc/qrc_%.cpp : qrc/%.qrc @echo -e ["\E[37;32m"'RCC '"\E[0m"] $< @$(RCC) -o $@ $< ui/%.o : ui/%.cpp @echo -e ["\E[37;32m"'CC '"\E[0m"] $< @$(CC) $(CFLAGS) -o $@ -c $< moc/moc_%.cpp : include/%.h @echo -e ["\E[37;33m"'MOC '"\E[0m"] $< @$(MOC) $< -o $@ ui/moc_%.cpp : ui/%.h @echo -e ["\E[37;33m"'MOC '"\E[0m"] $< @$(MOC) $< -o $@ ui/%.h : ui/%.ui @echo -e ["\E[37;35m"'UIC '"\E[0m"] $< $@ @$(UIC) -o $@ $< ui/%.cpp : ui/%.ui ui/%.h ui/%.ui.h @echo -e ["\E[37;35m"'UICI'"\E[0m"] $<.h $@ @$(UIC) -o $@ -impl $*.h $< ui/%.cpp : ui/%.ui ui/%.h @echo -e ["\E[37;35m"'UICI'"\E[0m"] $<.h $@ @$(UIC) -o $@ -impl $*.h $< qrc/%.qrc : qrc @echo -e ["\E[37;32m"'QRC '"\E[0m"] $@ @./genqrc.pl $@ qrc clean : @for i in $(CLEAN_FILES); do \ if [ -e $$i ] ; then \ echo -e ["\E[37;34m"'RM '"\E[0m"] $$i; \ $(RM) $$i; \ fi \ done @if [ -e plugins ] ; then \ $(MAKE) -sC plugins clean; \ fi veryclean : clean @for i in $(VERY_CLEAN_FILES); do \ if [ -e $$i ] ; then \ echo -e ["\E[37;34m"'RM '"\E[0m"] $$i; \ $(RM) $$i; \ fi \ done @if [ -e plugins ] ; then \ $(MAKE) -sC plugins veryclean; \ fi todo : @echo -e ["\E[37;32m"'TODO'"\E[0m"] $@ @./gentodo.pl #dep/%.d: src/%.cpp # @( export DEPEND=`mktemp`; \ # echo "[DEP ]" $<; \ # $(CC) -MM $(CFLAGS) $< > $${DEPEND}; \ # sed -e "s/^[a-zA-Z0-9_\/]*\///" $${DEPEND} > $${DEPEND}.2; \ # sed -e "s/^\([a-zA-Z0-9_]*\)\.o:/obj\/\1\.o \1\.d:/" $${DEPEND}.2 > $@; \ # rm $${DEPEND} $${DEPEND}.2 ) #dep/%.d: %.cpp # @( export DEPEND=`mktemp`; \ # echo "[DEP ]" $<; \ # $(CC) -MM $(CFLAGS) $< > $${DEPEND}; \ # sed -e "s/^[a-zA-Z0-9_\/]*\///" $${DEPEND} > $${DEPEND}.2; \ # sed -e "s/^\([a-zA-Z0-9_]*\)\.o:/obj\/\1\.o \1\.d:/" $${DEPEND}.2 > $@; \ # rm $${DEPEND} $${DEPEND}.2 ) dep/%.d: src/%.cpp @echo "[DEP ]" $< @$(CC) $(CFLAGS) -MM -MF $@ -MT 'obj/$*.o dep/$*.d' $< dep/moc_%.d: moc/moc_%.cpp @echo "[DEP ]" $< @$(CC) $(CFLAGS) -MM -MF $@ -MT 'obj/$*.o dep/$*.d' $< dep/qrc_%.d: qrc/qrc_%.cpp @echo "[DEP ]" $< @$(CC) $(CFLAGS) -MM -MF $@ -MT 'obj/$*.o dep/$*.d' $< dep/%.qrc.d: qrc/%.qrc @echo "[DEP ]" $< @./qrcdep.pl $< #dep/%.d: ui/%.cpp # @( export DEPEND=`mktemp`; \ # echo "[DEP ]" $<; \ # $(CC) -MM $(CFLAGS) $< > $${DEPEND}; \ # sed -e "s/^[a-zA-Z0-9_\/]*\///" $${DEPEND} > $${DEPEND}.2; \ # sed -e "s/^\([a-zA-Z0-9_]*\)\.o:/ui\/\1\.o \1\.d:/" $${DEPEND}.2 > $@; \ # rm $${DEPEND} $${DEPEND}.2 ) ifneq ($(MAKECMDGOALS),runscripts) ifneq ($(MAKECMDGOALS),clean) ifneq ($(MAKECMDGOALS),todo) ifneq ($(MAKECMDGOALS),final) ifneq ($(MAKECMDGOALS),finaldebug) ifneq ($(MAKECMDGOALS),veryclean) ifneq ($(MAKECMDGOALS),finalclean) ifneq ($(MAKECMDGOALS),finalveryclean) ifneq ($(MAKECMDGOALS),finaldebugclean) ifneq ($(MAKECMDGOALS),finaldebugveryclean) -include $(patsubst %.cpp,dep/%.d,$(addsuffix .cpp,$(CPPFILES))) -include $(patsubst %.cpp,dep/moc_%.d,$(addsuffix .cpp,$(MOCFILES))) #-include $(patsubst %.cpp,dep/%.d,$(addsuffix .cpp,$(UICFILES))) ifdef QRCFILES -include $(patsubst %.cpp,dep/qrc_%.d,$(addsuffix .cpp,$(QRCFILES))) $(patsubst %.qrc,dep/%.qrc.d,$(addsuffix .qrc,$(QRCFILES))) endif endif endif endif endif endif endif endif endif endif endif .PHONY: todo clean uic mkdirs depend upx runscripts final debug finaldebug finalclean finaldebugclean finalveryclean finaldebugveryclean .PRECIOUS: $(MOCSRC) $(UICCPP) $(UICHPP) qrc/sciq4.qrc