all: a.out.exe my_dll.dll my_other_dll.dll

a.out.exe : main.o
	g++ -o a.out.exe main.o

main.o : main.cc interface.h
	g++ -c main.cc -DBUILDING_AOUT -o main.o

libaout.a: main.o
	dlltool -l libaout.a -D a.out.exe main.o

my_dll.dll : my_dll.cc interface.h libaout.a
	g++ -shared my_dll.cc -L. -laout -o my_dll.dll

my_other_dll.dll : my_other_dll.cc interface.h libaout.a
	g++ -shared my_other_dll.cc -L. -laout -o my_other_dll.dll

clean:
	rm -f *.o *.a *.exe *.dll
