iptraffic: iptraffic.cpp strutil.o data.o config.o g++ -o $@ $@.cpp strutil.o data.o config.o config.o: config.cpp config.h strutil.o data.o g++ -c -o $@ config.cpp data.o: data.cpp data.h strutil.o g++ -c -o $@ data.cpp strutil.o: strutil.cpp strutil.h g++ -c -o $@ strutil.cpp .PHONY: run run: iptraffic ./iptraffic 2> log # 2>&1 | head -n 20 .PHONY: clean distclean clean: rm *.o || true distclean: clean rm iptraffic || true