#
# Makefile for Linux specific functions
#

include ../Makeconfig

include ../Makerules

ifndef OPTFLAGS
OPTFLAGS= -O6 -fomit-frame-pointer
endif

CFLAGS = $(WFLAGS) $(OPTFLAGS) $(INC) $(XCFLAGS)

DIRS=crt lib
LIBS=lib/libalias.a lib/libc.a
PROGS=sln

ifeq "$(HOST_MACHINE)" "linux"

HOSTLIBDIR=$(HOSTROOTDIR)/lib

else

HOSTLIBDIR=$(HOSTROOTDIR)/$(TARGET_MACHINE)/lib

endif

all: library $(PROGS)

sln: sln.o
	$(LD) -N -dll-verbose -static -o $@ crt/crt0.o $? $(LIBS) \
		-L$(HOSTLIBDIR) -lgcc

library:
	for i in $(DIRS); do \
	  echo making $$i; \
	  (cd $$i; $(MAKE)); \
	done

lib: $(OBJS)
	$(AR) uvc $(LIB) $(OBJS)

asm: $(ASMS)
	for i in $(DIRS); \
	do \
		echo making asm in $$i; \
		(cd $$i; $(MAKE) asm); \
	done

clean:
	$(RM) -f core *.i *.s *.o *.a tmp_make foo $(PROGS)
	for i in $(DIRS); \
	do \
		echo cleaning $$i; \
		(cd $$i; $(MAKE) clean); \
	done

dep:
	$(CC) $(CFLAGS) -M *.c > .include

#
# include a dependency file if one exists
#
ifeq (.depend,$(wildcard .depend))
include .depend
endif
