chiark / gitweb /
volume_id: provide libvolume_id.a file
[elogind.git] / klibc / MCONFIG
index 3fae2898c6fdf3a56f531c9ab6411145134220a8..450e5c7f5c4f4c90df8f60fc98b96cb7db25a502 100644 (file)
@@ -3,6 +3,25 @@
 # Makefile configuration, without explicit rules
 #
 
+# CROSS is the prefix used for system tools like gcc, ld etc.
+CROSS   = 
+
+# KCROSS is the prefix we use for klibc installations.  This is usually
+# the same as CROSS, but may be different, e.g. to install an i386
+# cross-compilation suite on an x86-64 system, using the same gcc/binutils.
+KCROSS ?= $(CROSS)
+
+# Location for installation
+prefix      = /usr
+bindir      = $(prefix)/bin
+libdir      = $(prefix)/lib
+mandir      = $(prefix)/man
+INSTALLDIR  = $(prefix)/lib/klibc
+INSTALLROOT =
+
+INSTALL_EXEC = install -m 755
+INSTALL_DATA = install -m 644
+
 # Eventually support separate compilation, but we don't have it yet...
 OBJROOT = $(SRCROOT)
 
@@ -10,8 +29,11 @@ OBJROOT = $(SRCROOT)
 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   = 
+# klibc version information
+KLIBCVER = -D__KLIBC__=$(shell cut -d. -f1 < $(SRCROOT)/version) \
+          -D__KLIBC_MINOR__=$(shell cut -d. -f2 < $(SRCROOT)/version)
+
+ARCH    = $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ -e s/arm.*/arm/ -e s/sa110/arm/ -e s/parisc.*/parisc/)
 CC     = $(CROSS)gcc
 LD      = $(CROSS)ld
 KLIBSRC = $(SRCROOT)/klibc
@@ -20,17 +42,19 @@ 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)
+REQFLAGS = $(ARCHREQFLAGS) $(KLIBCVER) -nostdlib -nostdinc -iwithprefix include \
+          $(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
 
+STRIP      = $(CROSS)strip
+STRIPFLAGS = --strip-all -R .comment -R .note
+STRIPCMD   = $(STRIP) $(STRIPFLAGS)
+
 HOST_CC      = gcc
 HOST_CFLAGS  = -g -O
 HOST_LDFLAGS = 
@@ -39,7 +63,7 @@ HOST_LIBS    =
 # Static library paths
 CRT0      = $(KLIBOBJ)/crt0.o
 KLIBC     = $(KLIBOBJ)/libc.a
-LIBGCC    = $(shell $(CC) --print-libgcc)
+LIBGCC    = $(shell $(CC) $(REQFLAGS) $(OPTFLAGS) --print-libgcc)
 
 # Shared library paths
 CRTSHARED = $(KLIBOBJ)/interp.o
@@ -57,6 +81,9 @@ SHLIBDIR = /lib
 # about 4K bigger.
 ERRLIST = 1
 
+# Include zlib in klibc.  This roughly triples the size of klibc!
+ZLIB = 0
+
 #
 # Include arch-specific rule fragments
 #