#
# Makefile to build djgpp libraries using a Linux (ELF) based crosscompiler.
#

LIB=../lib

all: $(LIB)/libc.a $(LIB)/libm.a $(LIB)/libdebug.a $(LIB)/libemu.a stubtools

#
# Track down objects that were generated with the wrong compiler.
#
find_elf:
	@echo Should not find any ELF object files
	@file `find . -name '*.o'` | grep ELF

$(LIB)/libdebug.a:
	@for dir in debug/common \
		debug/edebug \
		debug/fsdb \
		debug ; \
	do \
		( cd $$dir ; make -f makefile ) \
	done

$(LIB)/libc.a:
	@for dir in libc/ansi/assert \
		libc/ansi/ctype \
		libc/ansi/errno \
		libc/ansi/locale \
		libc/ansi/math \
		libc/ansi/setjmp \
		libc/ansi/stdio \
		libc/ansi/stdlib \
		libc/ansi/string \
		libc/ansi/time \
		libc/ansif/float \
		libc/bios \
		libc/compat/bsd \
		libc/compat/io \
		libc/compat/math \
		libc/compat/mman \
		libc/compat/mntent \
		libc/compat/search \
		libc/compat/stdio \
		libc/compat/stdlib \
		libc/compat/string \
		libc/compat/sys/resource \
		libc/compat/sys/stat \
		libc/compat/sys/vfs \
		libc/compat/time \
		libc/compat/unistd \
		libc/compat/v1 \
		libc/crt0 \
		libc/dos/compat \
		libc/dos/dir \
		libc/dos/dos \
		libc/dos/errno \
		libc/dos/io \
		libc/dos/lfn \
		libc/dos/process \
		libc/dos/sys/timeb \
		libc/dpmi/api \
		libc/dpmi/helper \
		libc/dxe \
		libc/emu387 \
		libc/fsext \
		libc/go32 \
		libc/pc_hw/co80 \
		libc/pc_hw/cpu \
		libc/pc_hw/endian \
		libc/pc_hw/farptr \
		libc/pc_hw/fpu \
		libc/pc_hw/hwint \
		libc/pc_hw/io \
		libc/pc_hw/kb \
		libc/pc_hw/mem \
		libc/pc_hw/mono \
		libc/pc_hw/nearptr \
		libc/pc_hw/sound \
		libc/pc_hw/timer \
		libc/posix/dirent \
		libc/posix/fcntl \
		libc/posix/fnmatch \
		libc/posix/glob \
		libc/posix/grp \
		libc/posix/pwd \
		libc/posix/regex \
		libc/posix/setjmp \
		libc/posix/signal \
		libc/posix/stdio \
		libc/posix/sys/stat \
		libc/posix/sys/times \
		libc/posix/sys/wait \
		libc/posix/unistd \
		libc/posix/utime \
		libc/posix/utsname \
		libc/stubs \
		libc ; \
	do \
		( cd $$dir ; make -f makefile ) \
	done

$(LIB)/libemu.a:
	( cd libemu ; make ../../lib/libemu.a -f makefile )

$(LIB)/libm.a:
	@for dir in libm/src \
		libm ; \
	do \
		( cd $$dir ; make -f makefile ) \
	done

stubtools:
	( cd stub ; make -f makefile )
