.PHONY:	all tnl libtomcrypt
#autocompiles every .cc & .h file into a go executable
#does an excellent job with dependencies and using the gcc auto dependency handlers

INCLUDEDIRS 	+= -I/usr/include/boost
INCLUDEDIRS 	+= -I/home/miles/boost_1_33_1
INCLUDEDIRS 	+= -I/usr/include/python2.4
INCLUDEDIRS 	+= -I/usr/include/python2.3
INCLUDEDIRS 	+= -I../tnl
LIBDIRS 	+= -L/usr/lib
LIBDIRS 	+= -L../tnl
LIBDIRS 	+= -L../libtomcrypt
LIBDIRS 	+= -L./
LIBS	+= -lpython2.4
LIBS	+= -lboost_python
POSTLIBS	+= -ltnl
POSTLIBS	+= -ltomcrypt

#CXXFLAGS                               += -g
CXXFLAGS                                = -fPIC
CC	= g++ 

FILES_CC                               := $(wildcard *.cc)
FILES_O                                := $(subst .cc,.o,$(FILES_CC))

all:	pytnlconnection.so
#all:	tnl libtomcrypt pytnlconnection.so
#$(FILES_O) : Makefile
tnl:
	cd tnl; make
libtomcrypt:
	cd libtomcrypt; make
%.d: %.cc
	$(CC) $(CXXFLAGS) $(INCLUDEDIRS) -MM $< > $@
%.o: %.cc
	$(CC) $(CXXFLAGS) $(INCLUDEDIRS) -c $< -o $@
pytnlconnection.so: $(FILES_O) Makefile
	@echo g++ -shared -fPIC -Wl --no-undefined --warn-once -L/usr/lib -lpython2.4 -lboost_python -DBOOST_PYTHON_DYNAMIC_MODULE -o pytnlconnection.so pytnlconnection.o -Itnl -ltnl -ltomcrypt -L./tnl -L./libtomcrypt
	$(CC) $(CXXFLAGS) $(LIBDIRS) -Itnl -shared -Wl --no-undefined --warn-once -DBOOST_PYTHON_DYNAMIC_MODULE $(LIBS) $< $(POSTLIBS) -o $@
	#g++ -fPIC -L/usr/lib -L./tnl -L./libtomcrypt -Itnl -shared -Wl --no-undefined --warn-once -DBOOST_PYTHON_DYNAMIC_MODULE -lpython2.4 -lboost_python pytnlconnection.o -ltnl -ltomcrypt -o pytnlconnection.so 
clean:
	rm -f *.o *.d pytnlconnection.so

include ${FILES_CC:.cc=.d}
	
