mirror of
https://github.com/AuxXxilium/eudev.git
synced 2024-12-16 11:36:19 +07:00
99 lines
2.6 KiB
Makefile
99 lines
2.6 KiB
Makefile
# -*- makefile -*-
|
|
#
|
|
# 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)
|
|
|
|
# Kernel trees (source and obj) - can potentially be different
|
|
KRNLSRC = $(SRCROOT)/linux
|
|
KRNLOBJ = $(SRCROOT)/linux
|
|
|
|
# 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/)
|
|
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) $(KLIBCVER) -nostdinc -iwithprefix include \
|
|
$(INCLUDE)
|
|
LDFLAGS =
|
|
AR = $(CROSS)ar
|
|
RANLIB = $(CROSS)ranlib
|
|
NM = $(CROSS)nm
|
|
PERL = perl
|
|
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 =
|
|
HOST_LIBS =
|
|
|
|
# Static library paths
|
|
CRT0 = $(KLIBOBJ)/crt0.o
|
|
KLIBC = $(KLIBOBJ)/libc.a
|
|
LIBGCC = $(shell $(CC) $(REQFLAGS) $(OPTFLAGS) --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 zlib in klibc. This roughly triples the size of klibc!
|
|
ZLIB = 0
|
|
|
|
#
|
|
# Include arch-specific rule fragments
|
|
#
|
|
include $(KLIBSRC)/arch/$(ARCH)/MCONFIG
|
|
|
|
ifeq ($(DEBUG),y)
|
|
STRIP = /bin/true -Since_we_are_debugging
|
|
OPTFLAGS += -O1 -g
|
|
endif
|
|
|
|
# How to tell the linker main() is the entrypoint
|
|
EMAIN ?= -e main
|