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

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:
	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


