include	$(ROOT)/../defines.mk

include $(ROOT)/arch/$(ARCH)/Makefile.inc
include $(ROOT)/startup/Makefile.inc
include $(ROOT)/src/Makefile.inc
include $(ROOT)/stubs/Makefile.inc

vpath	%.c		$(_VPATH)
vpath	%.cc		$(_VPATH) 
vpath	%.s		$(_VPATH)
vpath	%.sx		$(_VPATH)
vpath	%.S		$(_VPATH)
vpath	%.h		$(_VPATH)
vpath	Makefile	$(_VPATH)

# Force optimisation, but no inlining/unrolling
OPTIM	=-O2 -fno-inline-functions -fno-unroll-loops \
	 -foptimize-sibling-calls -fno-builtin-functions

CPPFLAGS += -DNDEBUG=1 -I$(ROOT)/include -I$(ROOT)/../include
CFLAGS += $(OPTIM) $(VAR) -DNDEBUG=1 -D__LIBBUILD__ -I$(ROOT)/include -I$(ROOT)/../include -g3 -ffunction-sections -msmart-io=0 -save-temps
ASFLAGS += $(VAR) -DNDEBUG=1 -D__LIBBUILD__

all: libc.a startup_modules

libc.a: Makefile $(LIBOBJ) 
	$(STRIP) $(STRIPFLAGS) $(LIBOBJ)
	$(AR) rcs $@ $(LIBOBJ)

startup_modules:  Makefile $(SUPOBJ)

install: libc.a startup_modules
	mkdir -p $(LIBDESTDIR)/$(SUBDIR)
	rm -f $(LIBDESTDIR)/$(SUBDIR)/libc.a
	cp -p libc.a $(LIBDESTDIR)/$(SUBDIR)/libc.a
	@rm -f $(addprefix $(LIBDESTDIR)/$(SUBDIR)/,$(SUPOBJ))
	cp -p $(SUPOBJ) $(LIBDESTDIR)/$(SUBDIR)

clean:
	rm -f lib.a *.o core* *~

