diff --git a/make/defs-orig.mk b/make/defs-orig.mk index 1ea57f0b..a1299d81 100644 --- a/make/defs-orig.mk +++ b/make/defs-orig.mk @@ -23,6 +23,12 @@ DIST_VERSION = $(shell echo $(VERSION) | sed -e "s/-dev//") DIST_WINVERSION = $(shell echo $(WINVERSION) | sed -e "s/-dev//") LOCAL_DIST_VERSION = $(shell echo $(LOCAL_VERSION) | sed -e "s/-dev//") LOCAL_DIST_WINVERSION = $(shell echo $(LOCAL_WINVERSION) | sed -e "s/-dev//") +DEVELOPMENT = $(shell cat $(TOPDIR)/VERSION | grep 'dev' >/dev/null && echo true) +ifeq ($(DEVELOPMENT),true) + include $(TOPDIR)/make/cfg_dev.mk +else + include $(TOPDIR)/make/cfg_dist.mk +endif GCC_VERSION = $(shell gcc -v 2>&1 | grep version | awk '{ print $$3;}') GCC_MAJOR = $(shell gcc -v 2>&1 | grep version | awk '{ split($$3,a,"."); print a[1];}') @@ -91,6 +97,11 @@ CPPFLAGS = $(INCLUDE) $(PROJECT_CPPFLAGS) $(CPPFLAGS_DEBUG) $(LOCAL_CPPFLAGS) $ LDFFTW = -lrfftw -lfftw -lm #LDAUDIO = -laudiofile +ifeq ($(DEVELOPMENT),true) +CFLAGS += $(CFLAGS_DEBUG) +CPPFLAGS += $(CFLAGS_DEBUG) +endif + INSTALLED_SHOBJS = $(addprefix $(PREFIX)/lib/,$(SHOBJS)) ifeq ($(USE_QT),true) @@ -119,13 +130,19 @@ ifeq ($(USE_PROJECT_LIB),true) PROJECTLIB_LDFLAGS = -l$(LIBNAME) endif -LDFLAGS = -L$(LIBDIR) $(PROJECTLIB_LDFLAGS) $(LOCAL_LDFLAGS) $(PROJECT_LDFLAGS) $(LPPFLAGS) -LDREST = $(LDAUDIO) $(LDFFTW) -ldl -CC = $(YAMD)gcc -CPP = $(YAMD)g++ -RM = rm -AR = ar -INSTALL = install +ifeq ($(USE_PROFILER),true) +CFLAGS += -fprofile-arcs -ftest-coverage +CPPFLAGS += -fprofile-arcs -ftest-coverage +LDFLAGS += -fprofile-arcs -ftest-coverage +endif + +LDFLAGS += -L$(LIBDIR) $(PROJECTLIB_LDFLAGS) $(LOCAL_LDFLAGS) $(PROJECT_LDFLAGS) $(LPPFLAGS) +LDREST += $(LDAUDIO) $(LDFFTW) -ldl +CC = $(YAMD)gcc +CPP = $(YAMD)g++ +RM = rm +AR = ar +INSTALL = install define make_subdirs set -e; for D in $(SUBDIRS) ; do make -C $$D ; done diff --git a/make/rules.mk b/make/rules.mk index e6f73beb..f89b3f6b 100644 --- a/make/rules.mk +++ b/make/rules.mk @@ -90,7 +90,7 @@ doneclean: execlean: allclean objclean textclean -distclean: clean objclean textclean tmpclean vcdistclean +distclean: clean objclean textclean tmpclean vcdistclean profclean localclean: $(LOCAL_CLEAN) rm -rf $(CLEAN) @@ -103,3 +103,8 @@ vcdistclean: prereqclean: for dir in $(PREREQ_DIR); do make -C $$dir clean; done + +profclean: + rm -f *.da *.bb *.bbg *.gcov + +