ARCHIVES=tracker.a types.a txn.a util.a iter.a cxn.a
TARGETS=libbtt.so libbtt.a

#if BUILD_PERL
TARGETS+=Net-BitTorrent-LibBTT/LibBTT.o
CLEANTARGETS=Net-BitTorrent-LibBTT/Makefile
#endif

all: $(TARGETS)

libbtt.so: $(ARCHIVES)
	$(RM) -rf tmp $@
	$(MKDIR) tmp
	cd tmp && \
	 (for i in $^; do ar x ../$$i; done) && \
	 $(LDSHARED) $(LDFLAGS) $(LIBS) -o ../$@ *.o && \
	 cd .. && \
	 $(RM) -rf tmp

libbtt.a: $(ARCHIVES)
	$(RM) -rf tmp $@
	$(MKDIR) tmp
	cd tmp && \
	 (for i in $^; do ar x ../$$i; done) && \
	 ar rc ../$@ *.o && \
	 cd .. && \
	 $(RM) -rf tmp

types.a::
	make -C types
	
tracker.a::
	make -C tracker
	
txn.a::
	make -C txn

util.a::
	make -C util

iter.a::
	make -C iter

cxn.a::
	make -C cxn

clean: $(CLEANTARGETS)
	make -C types clean
	make -C tracker clean
	make -C txn clean
	make -C util clean
	make -C iter clean
	make -C cxn clean
	$(RM) -rf tmp libbtt.so *.a .libs
#if BUILD_PERL
	make -C Net-BitTorrent-LibBTT distclean
#endif


Net-BitTorrent-LibBTT/LibBTT.o: Net-BitTorrent-LibBTT/Makefile
	make -C Net-BitTorrent-LibBTT

Net-BitTorrent-LibBTT/Makefile:
	cd Net-BitTorrent-LibBTT && perl Makefile.PL $(MAKEFILEPL_FLAGS)

