all: build build/stamp_libdisasm build/hello build/hello_cheating_by_linking build/rewrite build/hello_rewritten

clean:
	rm -rf build

build:
	mkdir build

build/stamp_libdisasm:
	wget 'http://sourceforge.net/projects/bastard/files/libdisasm/0.23/libdisasm-0.23.tar.gz/download' -O build/libdisasm-0.23.tar.gz
	tar -C build -xzf build/libdisasm-0.23.tar.gz
	(cd build/libdisasm-0.23; ./configure && make)
	touch $@

LIBDIS=build/libdisasm-0.23/libdisasm/

build/%.o: %.c
	gcc -g -c $< -o $@

build/hello: build/hello.o
	gcc -static -g $^ -o $@

build/hello_cheating_by_linking: build/hello.o build/writeizzle.o
	gcc -static -g $^ -o $@

build/rewrite.o: rewrite.h

build/rewrite.o: rewrite.c
	gcc -g -c $< -o $@ -I$(LIBDIS)

build/rewrite: build/rewrite.o
	gcc -static -g $^ -o $@ -L$(LIBDIS)/.libs -ldisasm

build/hello_rewritten: build/hello_cheating_by_linking build/rewrite
	build/rewrite build/hello_cheating_by_linking $@


build/kit.tgz: binary_rewriting.pdf binary_rewriting.odp makefile hello.c writeizzle.c rewrite.c rewrite.h
	tar czf $@ $^
