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

# Eventually support separate compilation, but we don't have it yet...
OBJROOT = $(SRCROOT)

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
KLIBOBJ = $(OBJROOT)/klibc
REQFLAGS = $(ARCHREQFLAGS) -nostdinc -iwithprefix include \
	  -D__KLIBC__ -DBITSIZE=$(BITSIZE) \
	  -I$(SRCROOT)/include/arch/$(ARCH) \
	  -I$(SRCROOT)/include/bits$(BITSIZE) \
	  -I$(SRCROOT)/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
OBJCOPY = $(CROSS)objcopy

HOST_CC      = gcc
HOST_CFLAGS  = -g -O
HOST_LDFLAGS = 
HOST_LIBS    =

# Static library paths
CRT0      = $(KLIBOBJ)/crt0.o
KLIBC     = $(KLIBOBJ)/libc.a
LIBGCC    = $(shell $(CC) --print-libgcc)

# Shared library paths
CRTSHARED = $(KLIBOBJ)/interp.o
LIBSHARED = $(KLIBOBJ)/libc.so

#
# This indicates the location of the final version of the shared library.
# THIS MUST BE AN ABSOLUTE PATH WITH NO FINAL SLASH.
# Leave this empty to make it the root.
#
SHLIBDIR = /lib

# Enable this to make perror/strerror return real error messages
# This makes klibc.so and any static binary which uses these functions
# about 4K bigger.
ERRLIST = 1

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

# How to tell the linker main() is the entrypoint
EMAIN ?= -e main
