diff options
author | Eric Andersen <andersen@codepoet.org> | 2001-08-10 08:00:08 +0000 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2001-08-10 08:00:08 +0000 |
commit | 96277cfcea64ba6965b20fd78529f2f6fa59e32a (patch) | |
tree | 69692cef15440ff2a45bf0429482f7f23a25b902 /Rules.mak | |
parent | 7e79b9d3abb86bc457607ff3405052092cbf0069 (diff) |
Update the build system, yet again. I hope this is the last time...
Here is the basic theory of operation:
SHARED_LIB_LOADER_PATH/ <The location where the shared lib
loader will be installed and where the
compiler will cause apps to look for it.>
DEVEL_PREFIX/
bin/ <contains gcc, ld, etc for setting PATH=$DEVEL_PREFIX/bin:$PATH>
lib/ <contains all runtime and static libs>
include/ <Where all the header files go>
SYSTEM_DEVEL_PREFIX/
usr/bin/ <contains arch-uclibc-gcc, arch-uclibc-ld, etc that
might be installed by a .deb or .rpm into /usr/bin,
but can happily live under DEVEL_PREFIX>
PREFIX
This is prepended during 'make install's allowing you to shift things to
be installed under some alternate location (such as when building a .deb)
-Erik
Diffstat (limited to 'Rules.mak')
-rw-r--r-- | Rules.mak | 48 |
1 files changed, 11 insertions, 37 deletions
@@ -51,6 +51,8 @@ TARGET_CCFLAGS=--uclibc-use-build-dir $(WARNINGS) $(OPTIMIZATION) $(CPUFLAGS) CFLAGS=$(ARCH_CFLAGS) $(CCFLAGS) $(DEFS) $(ARCH_CFLAGS2) TARGET_CC= $(TOPDIR)extra/gcc-uClibc/$(TARGET_ARCH)-uclibc-gcc TARGET_CFLAGS=$(ARCH_CFLAGS) $(TARGET_CCFLAGS) $(DEFS) $(ARCH_CFLAGS2) +NATIVE_ARCH = $(shell uname -m | sed -e 's/i.86/i386/' -e 's/sparc.*/sparc/' \ + -e 's/arm.*/arm/g' -e 's/m68k.*/m68k/' -e 's/ppc/powerpc/g') ifeq ($(strip $(DODEBUG)),true) CFLAGS += -g @@ -68,52 +70,24 @@ ifeq ($(strip $(DOPIC)),true) CFLAGS += -fPIC endif - -ifndef PREFIX - PREFIX = `pwd`/_install - DEVEL_PREFIX = $(PREFIX) - TARGET_PREFIX = $(PREFIX) +# Disable libm if HAS_FLOATING_POINT isn't true. +ifneq ($(HAS_FLOATING_POINT),true) + HAS_LIBM_FLOAT = false + HAS_LIBM_DOUBLE = false + HAS_LIBM_LONG_DOUBLE = false endif -NATIVE_ARCH = $(shell uname -m | sed -e 's/i.86/i386/' -e 's/sparc.*/sparc/' -e 's/arm.*/arm/g' -e 's/m68k.*/m68k/' -e 's/ppc/powerpc/g') - ifeq ($(strip $(HAVE_SHARED)),true) - DO_SHARED=shared -endif - -LDSO_PRESENT=$(strip $(shell cd $(TOPDIR)/ldso/d-link; ls -d $(TARGET_ARCH) 2>/dev/null)) - -# NOTE: This may need to be modified for your system -SYSTEM_LDSO=$(shell for each in `$(CC) -print-search-dirs|grep ^libraries|sed -e 's/^libraries: //' -e 's/:/ /g'`;do ls $$each/ld.so.* 2>/dev/null;done) -#SYSTEM_LDSO=/lib/ld-linux.so.2 - -ifeq ($(LDSO_PRESENT), $(TARGET_ARCH)) + LIBRARY_CACHE=#-DUSE_CACHE +ifeq ($(strip $(BUILD_UCLIBC_LDSO)),true) LDSO=$(TOPDIR)lib/$(UCLIBC_LDSO) - DYNAMIC_LINKER=$(DESTDIR)$(PREFIX)/lib/$(UCLIBC_LDSO) + DYNAMIC_LINKER=$(SHARED_LIB_LOADER_PATH)/$(UCLIBC_LDSO) BUILD_DYNAMIC_LINKER=$(shell cd $(TOPDIR)lib; pwd)/$(UCLIBC_LDSO) else LDSO=$(SYSTEM_LDSO) DYNAMIC_LINKER=/lib/$(notdir $(SYSTEM_LDSO)) - BUILD_DYNAMIC_LINKER=$(shell cd $(TOPDIR)lib; pwd)/$(UCLIBC_LDSO) + BUILD_DYNAMIC_LINKER=/lib/$(notdir $(SYSTEM_LDSO)) endif -LIBRARY_CACHE=#-DUSE_CACHE - -# Disable libm if HAS_FLOATING_POINT isn't true. -ifneq ($(HAS_FLOATING_POINT),true) - HAS_LIBM_FLOAT = false - HAS_LIBM_DOUBLE = false - HAS_LIBM_LONG_DOUBLE = false endif -# It turns out the currently, function-sections causes ldelf2flt to segfault. -# So till further notice, this is disabled by default.... -# -# Use '-ffunction-sections -fdata-sections' and '--gc-sections' if they work -# to try and strip out any unused junk automagically.... -# -#ifeq ($(shell $(CC) -ffunction-sections -fdata-sections -S \ -# -o /dev/null -xc /dev/null && $(LD) --gc-sections -v >/dev/null && echo 1),1) -# CFLAGS += -ffunction-sections -fdata-sections -# LDFLAGS += --gc-sections -#endif |