2006-02-27 15:36:13 +00:00
|
|
|
# generic utility modules
|
|
|
|
|
# (c) 2001 jannet it services
|
|
|
|
|
# contact@jannet.de
|
|
|
|
|
# $Id$
|
|
|
|
|
|
2010-12-03 00:16:48 +00:00
|
|
|
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
|
2006-02-27 15:36:13 +00:00
|
|
|
|
2016-11-09 14:03:37 +00:00
|
|
|
ifneq ($(EXE_BASENAME),)
|
|
|
|
|
ifneq ($(TARGET),mingw)
|
|
|
|
|
EXE ?= $(EXE_BASENAME)
|
|
|
|
|
else
|
|
|
|
|
EXE ?= $(EXE_BASENAME).exe
|
|
|
|
|
endif
|
|
|
|
|
endif
|
|
|
|
|
|
2014-06-17 09:38:38 +00:00
|
|
|
EXE_PATH ?= ./$(EXE)
|
|
|
|
|
|
2016-04-19 10:47:18 +00:00
|
|
|
LOCAL_CFLAGS += -DEXE_NAME=\"$(EXE)\"
|
|
|
|
|
LOCAL_CPPFLAGS += -DEXE_NAME=\"$(EXE)\"
|
|
|
|
|
|
2006-02-27 15:36:13 +00:00
|
|
|
include $(MODDIR)/make/defs.mk
|
2007-08-21 16:20:10 +00:00
|
|
|
BUILD_HDR =
|
2006-02-27 15:36:13 +00:00
|
|
|
include $(MODDIR)/make/rules.mk
|
|
|
|
|
include $(MODDIR)/make/ldlibpath.mk
|
2011-02-20 14:15:22 +00:00
|
|
|
include $(MODDIR)/make/debugger.mk
|
2006-02-27 15:36:13 +00:00
|
|
|
|
2014-07-06 13:08:11 +00:00
|
|
|
EXE_ARGS += $(LOCAL_EXE_ARGS)
|
|
|
|
|
|
2011-08-09 19:34:12 +00:00
|
|
|
ifneq ($(wildcard local.supp),)
|
|
|
|
|
VALGRIND_OPTS += --suppressions=local.supp
|
|
|
|
|
endif
|
|
|
|
|
|
2006-02-27 15:36:13 +00:00
|
|
|
all:
|
|
|
|
|
install:
|
2011-08-09 19:34:12 +00:00
|
|
|
clean:
|
|
|
|
|
distclean:
|
|
|
|
|
|
2007-07-13 10:49:58 +00:00
|
|
|
ifeq ($(TARGET),mingw)
|
2011-05-15 18:28:19 +00:00
|
|
|
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)"
|
2007-11-03 20:37:32 +00:00
|
|
|
@echo -e "set PATH=%PATH;$(DLL_PATH)\n" \
|
2011-05-15 18:28:19 +00:00
|
|
|
"$(EXE_PATH) $(EXE_ARGS)" | wine cmd &
|
2007-10-30 19:11:33 +00:00
|
|
|
|
|
|
|
|
clean: winrunclean
|
|
|
|
|
|
|
|
|
|
winrunclean:
|
|
|
|
|
rm -f start.bat
|
2011-08-09 19:34:12 +00:00
|
|
|
|
2007-07-13 10:49:58 +00:00
|
|
|
else
|
2011-05-15 18:28:19 +00:00
|
|
|
run test: all
|
2016-03-25 18:25:28 +00:00
|
|
|
rm -f core.*
|
2011-05-15 18:28:19 +00:00
|
|
|
$(EXE_PATH) $(EXE_ARGS)
|
|
|
|
|
start: all
|
2016-03-25 18:25:28 +00:00
|
|
|
rm -f core.*
|
2011-05-15 18:28:19 +00:00
|
|
|
$(EXE_PATH) $(EXE_ARGS) &
|
|
|
|
|
|
2012-02-13 17:29:08 +00:00
|
|
|
clean: vg-clean-supp clean.out
|
2011-08-09 19:34:12 +00:00
|
|
|
|
2011-05-15 18:28:19 +00:00
|
|
|
# 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
|
|
|
|
|
|
2011-08-09 19:34:12 +00:00
|
|
|
valgrind:
|
2016-03-25 18:25:28 +00:00
|
|
|
rm -f core.*
|
2011-08-09 19:34:12 +00:00
|
|
|
valgrind $(VALGRIND_OPTS) $(EXE_PATH) $(EXE_ARGS)
|
2014-06-23 21:38:36 +00:00
|
|
|
|
2016-03-05 20:54:30 +00:00
|
|
|
valkyrie:
|
2016-03-25 18:25:28 +00:00
|
|
|
rm -f core.*
|
2016-03-05 20:54:30 +00:00
|
|
|
valkyrie $(VALGRIND_OPTS) $(EXE_PATH) $(EXE_ARGS)
|
|
|
|
|
|
2014-11-25 11:50:19 +00:00
|
|
|
efence:
|
2016-03-25 18:25:28 +00:00
|
|
|
rm -f core.*
|
2014-11-25 11:50:19 +00:00
|
|
|
ef $(EXE_PATH) $(EXE_ARGS)
|
|
|
|
|
|
2011-08-09 19:34:12 +00:00
|
|
|
supp.tmp:
|
|
|
|
|
valgrind --gen-suppressions=all $(EXE_PATH) $(EXE_ARGS) 2>$@.tmp; mv $@.tmp $@ || exit 0
|
|
|
|
|
|
|
|
|
|
vg-create-supp: supp.tmp
|
2012-02-04 11:06:22 +00:00
|
|
|
$(CAT) $< | $(MOD_SCRIPT_DIR)/parse-valgrind-suppressions.sh > local.supp
|
2011-08-09 19:34:12 +00:00
|
|
|
rm -f supp.tmp
|
|
|
|
|
|
|
|
|
|
vg-add-supp:
|
2012-02-04 11:06:22 +00:00
|
|
|
$(CAT) | $(MOD_SCRIPT_DIR)/parse-valgrind-suppressions.sh >> local.supp
|
2011-08-09 19:34:12 +00:00
|
|
|
|
|
|
|
|
vg-clean-supp:
|
|
|
|
|
rm -f local.supp
|
|
|
|
|
|
2012-02-13 17:29:08 +00:00
|
|
|
clean.out:
|
|
|
|
|
rm -f run.out
|
|
|
|
|
|
2011-08-09 19:34:12 +00:00
|
|
|
callgrind:
|
2016-03-25 18:25:28 +00:00
|
|
|
rm -f core.*
|
2011-08-09 19:34:12 +00:00
|
|
|
valgrind --tool=callgrind $(VALGRIND_OPTS) $(EXE_PATH) $(EXE_ARGS)
|
|
|
|
|
|
2012-09-02 16:06:47 +00:00
|
|
|
callgrind-noinst:
|
2016-03-25 18:25:28 +00:00
|
|
|
rm -f core.*
|
2012-09-02 16:06:47 +00:00
|
|
|
valgrind --tool=callgrind $(VALGRIND_OPTS) --instr-atstart=no $(EXE_PATH) $(EXE_ARGS)
|
|
|
|
|
|
|
|
|
|
callgrind-startinst:
|
|
|
|
|
ps aux | grep callgrind | grep -v "grep\|make\|callgrind_control" | awk '{print $$2}' | xargs callgrind_control --instr=on
|
|
|
|
|
|
|
|
|
|
callgrind-stopinst:
|
|
|
|
|
ps aux | grep callgrind | grep -v "grep\|make\|callgrind_control" | awk '{print $$2}' | xargs callgrind_control --instr=off
|
|
|
|
|
|
|
|
|
|
callgrind-dump:
|
|
|
|
|
ps aux | grep callgrind | grep -v "grep\|make\|callgrind_control" | awk '{print $$2}' | xargs callgrind_control --dump
|
|
|
|
|
|
|
|
|
|
snap:
|
|
|
|
|
killall -SIGUSR1 $(notdir $(EXE_PATH))
|
|
|
|
|
|
2014-06-23 21:38:36 +00:00
|
|
|
check-conf:
|
|
|
|
|
$(firstword $(wildcard $(CVS_PROJ_DIR)/valdi/bin/checkconf) checkconf) -p --log-flags console \
|
|
|
|
|
$(shell echo $(EXE_ARGS) | sed 's/.*--config-file *//; s/ .*//')
|
|
|
|
|
|
2007-07-13 10:49:58 +00:00
|
|
|
endif
|
|
|
|
|
|
2006-03-14 14:44:09 +00:00
|
|
|
stop:
|
2011-05-15 18:28:19 +00:00
|
|
|
if /sbin/checkproc $(notdir $(EXE_PATH)); then killall $(notdir $(EXE_PATH)); fi
|
2006-03-14 14:44:09 +00:00
|
|
|
kill:
|
2011-05-15 18:28:19 +00:00
|
|
|
killall -9 $(notdir $(EXE_PATH))
|
2006-03-14 14:44:09 +00:00
|
|
|
|
2007-06-23 10:56:38 +00:00
|
|
|
abort:
|
2011-05-15 18:28:19 +00:00
|
|
|
killall -6 $(notdir $(EXE_PATH))
|
2007-06-23 10:56:38 +00:00
|
|
|
|
2011-05-15 18:28:19 +00:00
|
|
|
strace: $(EXE_PATH) $(EXE_BIN)
|
2016-09-04 21:35:56 +00:00
|
|
|
strace -f $(STRACE_EXTRA_OPTS) $(EXE_PATH) $(EXE_ARGS)
|
2007-06-01 19:43:16 +00:00
|
|
|
|
2012-02-13 17:29:08 +00:00
|
|
|
tee: $(EXE_PATH) $(EXE_BIN) all
|
2016-03-25 18:25:28 +00:00
|
|
|
rm -f core.*
|
2012-02-13 17:29:08 +00:00
|
|
|
$(EXE_PATH) $(EXE_ARGS) 2>&1 | tee run.out
|
|
|
|
|
|
2007-12-11 23:17:49 +00:00
|
|
|
kcg:
|
|
|
|
|
kcachegrind callgrind.*
|
|
|
|
|
|
2006-03-14 14:44:09 +00:00
|
|
|
clean: runclean localclean
|
2007-09-08 16:17:16 +00:00
|
|
|
|
2007-10-30 19:11:33 +00:00
|
|
|
start.bat:
|
|
|
|
|
echo "set PATH=%PATH;$(DLL_PATH)" > $@.tmp
|
2011-05-15 18:28:19 +00:00
|
|
|
echo "$(EXE_PATH) $(EXE_ARGS)" >> $@.tmp
|
2007-10-30 19:11:33 +00:00
|
|
|
mv $@.tmp $@
|
|
|
|
|
|