| obj-m := ctracer.o | |
| ctracer-y := ctracer_collector.o ctracer_relay.o | |
| # Files generated that shall be removed upon make clean | |
| clean-files := ctracer_collector.c | |
| CLASS=sock | |
| #KDIR := /home/acme/git/OUTPUT/qemu/linux-2.6/ | |
| KDIR := /lib/modules/$(shell uname -r)/build | |
| PWD := $(shell pwd) | |
| default: | |
| $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules | |
| clean: | |
| rm -rf .*.mod.c .*o.cmd *.mod.c *.ko *.o \ | |
| ctracer_collector.c ctracer_methods.stp \ | |
| ctracer_classes.h \ | |
| Module.symvers .tmp_versions/ \ | |
| $(CLASS).{fields,functions} ctracer2ostra* | |
| $(src)/ctracer2ostra: ctracer_methods.stp | |
| $(CC) $@.c -o $@ | |
| cu_blacklist_file=/usr/share/dwarves/runtime/linux.blacklist.cu | |
| LOG=/tmp/ctracer.log | |
| callgraph: ctracer2ostra | |
| ./ctracer2ostra < $(LOG) > $(LOG).ostra ; \ | |
| rm -rf $(CLASS).callgraph ; \ | |
| PYTHONPATH=python/ ostra-cg $(CLASS) $(LOG).ostra | |
| $(obj)/ctracer_collector.o: ctracer_collector.c | |
| $(src)/ctracer_collector.c: | |
| ctracer --src_dir $(src) /usr/lib/debug/lib/modules/$(shell uname -r)/vmlinux \ | |
| --cu_blacklist $(cu_blacklist_file) $(CLASS) |