summaryrefslogtreecommitdiff
path: root/Rules.mak
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2001-08-10 08:00:08 +0000
committerEric Andersen <andersen@codepoet.org>2001-08-10 08:00:08 +0000
commit96277cfcea64ba6965b20fd78529f2f6fa59e32a (patch)
tree69692cef15440ff2a45bf0429482f7f23a25b902 /Rules.mak
parent7e79b9d3abb86bc457607ff3405052092cbf0069 (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.mak48
1 files changed, 11 insertions, 37 deletions
diff --git a/Rules.mak b/Rules.mak
index ec50eae35..0f5a49b52 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -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