jw-pkg/make/run.mk

154 lines
3.4 KiB
Makefile
Raw Normal View History

# 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
EXE ?= $(EXE_BASENAME)
EXE_PATH ?= ./$(EXE)
LOCAL_CFLAGS += -DEXE_NAME=\"$(EXE)\"
LOCAL_CPPFLAGS += -DEXE_NAME=\"$(EXE)\"
include $(MODDIR)/make/defs.mk
2007-08-21 16:20:10 +00:00
BUILD_HDR =
include $(MODDIR)/make/rules.mk
include $(MODDIR)/make/ldlibpath.mk
include $(MODDIR)/make/debugger.mk
EXE_ARGS += $(LOCAL_EXE_ARGS)
ifneq ($(wildcard local.supp),)
VALGRIND_OPTS += --suppressions=local.supp
endif
all:
install:
clean:
distclean:
2007-07-13 10:49:58 +00:00
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
2007-07-13 10:49:58 +00:00
else
run test: all
rm -f core.*
$(EXE_PATH) $(EXE_ARGS)
start: all
rm -f core.*
$(EXE_PATH) $(EXE_ARGS) &
2012-02-13 17:29:08 +00:00
clean: vg-clean-supp clean.out
# 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)
valkyrie:
rm -f core.*
valkyrie $(VALGRIND_OPTS) $(EXE_PATH) $(EXE_ARGS)
efence:
rm -f core.*
ef $(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
2012-02-04 11:06:22 +00:00
$(CAT) $< | $(MOD_SCRIPT_DIR)/parse-valgrind-suppressions.sh > local.supp
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
vg-clean-supp:
rm -f local.supp
2012-02-13 17:29:08 +00:00
clean.out:
rm -f run.out
callgrind:
rm -f core.*
valgrind --tool=callgrind $(VALGRIND_OPTS) $(EXE_PATH) $(EXE_ARGS)
callgrind-noinst:
rm -f core.*
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))
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
stop:
if /sbin/checkproc $(notdir $(EXE_PATH)); then killall $(notdir $(EXE_PATH)); fi
kill:
killall -9 $(notdir $(EXE_PATH))
2007-06-23 10:56:38 +00:00
abort:
killall -6 $(notdir $(EXE_PATH))
2007-06-23 10:56:38 +00:00
strace: $(EXE_PATH) $(EXE_BIN)
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
rm -f core.*
2012-02-13 17:29:08 +00:00
$(EXE_PATH) $(EXE_ARGS) 2>&1 | tee run.out
kcg:
kcachegrind callgrind.*
clean: runclean localclean
2007-09-08 16:17:16 +00:00
start.bat:
echo "set PATH=%PATH;$(DLL_PATH)" > $@.tmp
echo "$(EXE_PATH) $(EXE_ARGS)" >> $@.tmp
mv $@.tmp $@