CFLAGS = -g
LDFLAGS = -lcap

programs = cap dumpcap dropuid
sprograms = sdumpcap sbindumpcap s500dumpcap
clean_files = $(programs) $(sprograms)

test_tmp_files = testcap_*.out
test_files =  $(test_tmp_files) testcap.out

test: all test_clean
	@./test_cap.sh
	@sudo ./test_cap.sh
	@cat testcap_*.out > testcap.out
	@rm -f $(test_tmp_files)

all: $(programs) $(sprograms)

sdumpcap: dumpcap
	@rm -f $@
	@cp dumpcap $@
	@sudo chown root:root $@
	@sudo chmod u+s $@

sbindumpcap: dumpcap
	@rm -f $@
	@cp dumpcap $@
	@sudo chown bin:bin $@
	@sudo chmod u+s $@

s500dumpcap: dumpcap
	@rm -f $@
	@cp dumpcap $@
	@sudo chown 500:500 $@
	@sudo chmod u+s $@

clean:
	@rm -f $(clean_files)
	
test_clean:
	@rm -f $(test_files)

dist_clean: clean test_clean

diffs: testcap.out
	@diff -u default_testcap.out $<
