# generic utility modules # (c) 2001 jannet it services # contact@jannet.de # $Id$ DIR_BASENAME = $(notdir $(shell pwd)) ifeq ($(EXE_BASENAME),) ifneq ($(DIR_BASENAME),test) EXE_BASENAME = $(DIR_BASENAME) else EXE_BASENAME = test-$(notdir $(shell cd ..; pwd)) endif endif include $(MODDIR)/make/defs.mk BUILD_HDR = include $(MODDIR)/make/rules.mk include $(MODDIR)/make/ldlibpath.mk include $(MODDIR)/make/debugger.mk EXE_PATH ?= ./$(EXE) ifneq ($(wildcard local.supp),) VALGRIND_OPTS += --suppressions=local.supp endif all: install: clean: distclean: ifeq ($(TARGET),mingw) run test: all @echo "wine $(EXE_PATH) $(EXE_ARGS)" @echo -e "set PATH=%PATH;$(DLL_PATH)\n" \ "$(EXE_PATH) $(EXE_ARGS)" | wine cmd start: all @echo "wine $(EXE_PATH) $(EXE_ARGS)" @echo -e "set PATH=%PATH;$(DLL_PATH)\n" \ "$(EXE_PATH) $(EXE_ARGS)" | wine cmd & clean: winrunclean winrunclean: rm -f start.bat else run test: all rm -f $(CORE) $(EXE_PATH) $(EXE_ARGS) start: all rm -f $(CORE) $(EXE_PATH) $(EXE_ARGS) & clean: vg-clean-supp # unfortunately iwatch only supports one directory :-( autorun: make run & iwatch -e close_write -c "$(HOME)/bin/run-once.sh make restart" \ $(BUILD_LIBDIR) wait-stop: while /sbin/checkproc $(notdir $(EXE_PATH)); do sleep 1; done restart: stop wait-stop all start valgrind: rm -f $(CORE) valgrind $(VALGRIND_OPTS) $(EXE_PATH) $(EXE_ARGS) supp.tmp: valgrind --gen-suppressions=all $(EXE_PATH) $(EXE_ARGS) 2>$@.tmp; mv $@.tmp $@ || exit 0 vg-create-supp: supp.tmp $(CAT) $< | $(MOD_SCRIPT_DIR)/parse-valgrind-suppressions.sh > local.supp rm -f supp.tmp vg-add-supp: $(CAT) | $(MOD_SCRIPT_DIR)/parse-valgrind-suppressions.sh >> local.supp vg-clean-supp: rm -f local.supp callgrind: rm -f $(CORE) valgrind --tool=callgrind $(VALGRIND_OPTS) $(EXE_PATH) $(EXE_ARGS) endif stop: if /sbin/checkproc $(notdir $(EXE_PATH)); then killall $(notdir $(EXE_PATH)); fi kill: killall -9 $(notdir $(EXE_PATH)) abort: killall -6 $(notdir $(EXE_PATH)) strace: $(EXE_PATH) $(EXE_BIN) strace -f $(EXE_PATH) $(EXE_ARGS) kcg: kcachegrind callgrind.* clean: runclean localclean start.bat: echo "set PATH=%PATH;$(DLL_PATH)" > $@.tmp echo "$(EXE_PATH) $(EXE_ARGS)" >> $@.tmp mv $@.tmp $@