.PHONY: all install clean test dist mh

PROJECT:=exec_trace

INSTALL_ROOT:=$(DESTDIR)/usr/local

CFLAGS:=-Wall -fPIC -DPIC -ldl -ggdb -std=c99
LDFLAGS:=-ldl

all: $(PROJECT).so

$(PROJECT).o: $(PROJECT).c

$(PROJECT).so: $(PROJECT).o
	$(CC) -Wall -shared -o $@ $(PROJECT).o $(LDFLAGS)

test: $(PROJECT).so ctest
	@echo Test script:
	@#LD_PRELOAD=`pwd`/$(PROJECT).so sh -c 'sh -c "/bin/echo this is a test"'
	@#LD_PRELOAD=`pwd`/$(PROJECT).so ./script1
	@#./$(PROJECT) -f -bin -log trace.log -- script2 a b c
	@./$(PROJECT) -- ctest
	@#./$(PROJECT) -- shtest
	#@./$(PROJECT) -f -bin -log trace.log -- script1 "these args are ignored"
	#@echo "   --- TRACE.LOG --"
	#@cat trace.log

ec:
	@every_change -1 --f exec_trace ctest.c exec_trace.c script? Makefile  -- make test

mh:	$(PROJECT).tar.gz
	cp $(PROJECT).tar.gz /WWW/web/MarginalHacks.com/bin
	scp /WWW/web/MarginalHacks.com/bin/$(PROJECT).tar.gz sp:/WWW/web/MarginalHacks.com/bin

install: $(PROJECT).so
	install -m 755 $(PROJECT) -D $(INSTALL_ROOT)/bin/$(PROJECT)
	install -m 755 $(PROJECT).so -D $(INSTALL_ROOT)/lib/$(PROJECT).so

clean:
	rm -f $(PROJECT).[aso] $(PROJECT).so *.log $(PROJECT).tar.gz

$(PROJECT).tar.gz:
	rm -f $(PROJECT).tar.gz
	tar czf $(PROJECT).tar.gz -C .. $(PROJECT)/$(PROJECT) $(PROJECT)/$(PROJECT).c $(PROJECT)/Makefile

dist:	$(PROJECT).tar.gz
	@echo

