summaryrefslogtreecommitdiff
path: root/klibc/MCONFIG
blob: 7da150d03189270c61936c0584f4fff4d0e852ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# -*- makefile -*-
#
# Makefile configuration, without explicit rules
#

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

# Kernel trees (source and obj) - can potentially be different
KRNLSRC = $(SRCROOT)/linux
KRNLOBJ = $(SRCROOT)/linux

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
INCLUDE = -I$(SRCROOT)/include/arch/$(ARCH) \
	  -I$(SRCROOT)/include/bits$(BITSIZE) \
	  -I$(SRCROOT)/include \
	  -I$(KRNLOBJ)/include -I$(KRNLOBJ)/include2 -I$(KRNLSRC)/include
REQFLAGS = $(ARCHREQFLAGS) -nostdinc -iwithprefix include \
	  -D__KLIBC__ -DBITSIZE=$(BITSIZE) \
	  $(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