compilation-bundle/dwarf-compilation.base/contrib/libdwarfpp/tests/Makefile

61 lines
1.7 KiB
Makefile

THIS_MAKEFILE := $(lastword $(MAKEFILE_LIST))
root := $(realpath $(dir $(THIS_MAKEFILE))/..)
include $(root)/config.mk
$(warning PATH is ${PATH})
$(warning LD_LIBRARY_PATH is ${LD_LIBRARY_PATH})
CXXFLAGS += -I$(root)/include
CXXFLAGS += -g
CXXFLAGS += -std=c++14
LDFLAGS += -L$(root)/lib -Wl,-rpath,$(root)/lib
LDLIBS += -ldwarfpp -ldwarf -lelf -lsrk31c++ -lc++fileno -lboost_system -lz
export CXXFLAGS
export LDFLAGS
export LDLIBS
$(warning PATH is ${PATH})
$(warning LD_LIBRARY_PATH is ${LD_LIBRARY_PATH})
cases := $(filter-out makefile,$(wildcard [a-z]*))
default:
for case in $(cases); do \
$(MAKE) run-$$case || break; \
done
clean:
for case in $(cases); do \
$(MAKE) clean-$$case; \
done
clean-%:
rm -f $*/$*
build-%:
$(MAKE) -C "$*" -f ../Makefile "$*"
run-%: # run the test case with itself as input
$(MAKE) -C "$*" -f ../Makefile "$*" && ( cd "$*" && ./$* ./$* )
profile-%:
$(MAKE) -C "$*" "$*" && \
sudo opcontrol --deinit && \
sudo sh -c "echo '0' > /proc/sys/kernel/nmi_watchdog" && \
rm -rf oprofile_data && \
sudo opcontrol --reset && \
sudo opcontrol --start --no-vmlinux --separate=lib,kernel --callgraph=3 && \
( cd "$*" && ./$* ./$* ); \
sudo opcontrol --deinit && \
opreport -l --callgraph $(root)/src/libdwarfpp.so $*/$* && \
opreport -l $(root)/src/libdwarfpp.so $*/$* | head -n15
gdbrun-%: # run the test case with itself as input
$(MAKE) -C "$*" -f ../Makefile "$*" && ( cd "$*" && gdb --args ./$* ./$* )
cleanrun-%:
rm -f $*/$* && $(MAKE) run-$*
gdbcleanrun-%:
rm -f $*/$* && $(MAKE) gdbrun-$*
grandchildren: LDFLAGS += -pthread -static
visible-named: LDFLAGS += -pthread -static