# Makefile for libraries


SUBDIRS = posix c++ stdc++ io sys parse cparse hw object bff boot

XINCPATH = .
XINCFILES += types.h inttypes.h macro.h dir.h asm.h endian.h stdc.h

XLINKFILES = srt0.o crt_head.o crt_tail.o

srt0.o: boot/srt0.o
crt_head.o: boot/crt_head.o
crt_tail.o: boot/crt_tail.o


COMMANDS += setup all


setup: preconfigall configall
	@set -e; for dir in posix c++ stdc++ parse \
			sys hw object bff/elf32 boot; do \
		if [ "`echo $$dir/Make-*`" != "$$dir/Make-*" ] ; then \
			$(MAKE) $$dir/all; \
		fi \
	done
	@set -e; for dir in $(SUBDIRS); do \
		for lib in $$dir/*.a; do \
			if [ -r $$lib ] ; then \
				ln -fs $$lib .; \
			fi \
		done \
	done
	@echo "Libraries built:"
	@wc -c *.a

all:
	@set -e; for dir in $(SUBDIRS); do \
		if [ "`echo $$dir/Make-*`" != "$$dir/Make-*" ] ; then \
			$(MAKE) $$dir/all; \
		fi; \
		for lib in $$dir/*.a; do \
			if [ -r $$lib ] ; then \
				ln -fs $$lib .; \
			fi \
		done \
	done
	@echo "Libraries built:"
	@wc -c *.a

