# -*- makefile -*-
#
# Makefile configuration, without explicit rules
#

ARCH    = $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/)
CROSS   = 
CC	= $(CROSS)gcc
LD      = $(CROSS)ld
KLIBSRC = $(SRCROOT)/klibc
REQFLAGS = -nostdinc -iwithprefix include -I$(KLIBSRC) \
	  -I$(KLIBSRC)/arch/$(ARCH)/include \
	  -I$(KLIBSRC)/include/bits$(BITSIZE) \
	  -DBITSIZE=$(BITSIZE) -I$(KLIBSRC)/include \
	  -I$(SRCROOT)/linux/include
LDFLAGS =
AR      = $(CROSS)ar
RANLIB  = $(CROSS)ranlib
NM	= $(CROSS)nm
PERL    = perl
STRIP   = $(CROSS)strip --strip-all -R .comment -R .note

HOST_CC      = gcc
HOST_LDFLAGS = -s
HOST_LIBS    =

CRT0    = $(KLIBSRC)/crt0.o
KLIBC   = $(KLIBSRC)/libc.a
LIBGCC  = $(shell $(CC) --print-libgcc)

#
# Include arch-specific rule fragments
#
include $(KLIBSRC)/arch/$(ARCH)/MCONFIG
