From 84a9d87e2d6b237ff10990338ce76f050e1c3e2a Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 4 May 2001 01:30:26 +0000 Subject: This is kindof neat. With this update, you can now simply set your PATH and things will now simply compile vs uClibc. Or you can add INSTALL_DIR/usr/bin to your path and use it as a cross compiler. Either way, it works now. -Erik --- extra/gcc-uClibc/.cvsignore | 12 ++++++------ extra/gcc-uClibc/Makefile | 47 +++++++++++++++++++++++++++++---------------- 2 files changed, 36 insertions(+), 23 deletions(-) (limited to 'extra/gcc-uClibc') diff --git a/extra/gcc-uClibc/.cvsignore b/extra/gcc-uClibc/.cvsignore index 6c98be1b9..0232baac5 100644 --- a/extra/gcc-uClibc/.cvsignore +++ b/extra/gcc-uClibc/.cvsignore @@ -1,7 +1,7 @@ gcc-uClibc.h -i386-uclibc-gcc -m68k-uclibc-gcc -arm-uclibc-gcc -sh-uclibc-gcc -powerpc-uclibc-gcc -sparc--uclibc-gcc +i386-uclibc-* +m68k-uclibc-* +arm-uclibc-* +sh-uclibc-* +powerpc-uclibc-* +sparc-uclibc-* diff --git a/extra/gcc-uClibc/Makefile b/extra/gcc-uClibc/Makefile index 2e5793979..75c823086 100644 --- a/extra/gcc-uClibc/Makefile +++ b/extra/gcc-uClibc/Makefile @@ -5,14 +5,15 @@ include $(TOPDIR)Rules.mak DYNAMIC_LINKER = $(INSTALL_DIR)/lib/ld-linux-uclibc.so.$(MAJOR_VERSION) UCLIBC_DIR = $(shell (cd ../.. ; /bin/pwd)) -GCC_BIN = $(CC) +GCC_BIN = $(shell which $(CC)) +LD_BIN = $(shell which $(LD)) GCC_LIB = $(shell $(CC) -print-libgcc-file-name ) #GCCINCDIR inherited from Rules.mak -all: gcc-uClibc +all: gcc-uClibc ld-uClibc gcc-uClibc.h: clean - @echo "/* this file is created by make */" > gcc-uClibc.h + @echo "/* this file was autogenerated by make */" > gcc-uClibc.h @echo "#define UCLIBC_INSTALL_DIR " \"$(INSTALL_DIR)/\" >> gcc-uClibc.h @echo "#define UCLIBC_BUILD_DIR " \"$(UCLIBC_DIR)/\" >> gcc-uClibc.h @echo "#define GCC_BIN " \"$(GCC_BIN)\" >> gcc-uClibc.h @@ -24,22 +25,34 @@ gcc-uClibc.h: clean gcc-uClibc: gcc-uClibc.h gcc-uClibc.c gcc -Wall -O2 -s gcc-uClibc.c -o $(TARGET_ARCH)-uclibc-gcc -install: - @if [ -f $(TARGET_ARCH)-uclibc-gcc ] ; then \ - mkdir -p $(INSTALL_DIR)/usr/bin ; \ +ld-uClibc: + @echo "#!/bin/sh" > $(TARGET_ARCH)-uclibc-ld + @echo "# This file was autogenerated by make" >> $(TARGET_ARCH)-uclibc-ld + @echo "$(LD_BIN) -L- -L $(INSTALL_DIR)/lib -L$(UCLIBC_DIR) \$$@" >> $(TARGET_ARCH)-uclibc-ld + chmod a+x $(TARGET_ARCH)-uclibc-ld + +install: all + install -d $(INSTALL_DIR)/bin; + install -d $(INSTALL_DIR)/usr/bin; + if [ -x ./$(TARGET_ARCH)-uclibc-gcc ] ; then \ install -m 755 $(TARGET_ARCH)-uclibc-gcc $(INSTALL_DIR)/usr/bin/ ; \ - fi - $(shell (for app in addr2line ar as gasp ld nm objcopy objdump \ - ranlib size strings strip; do \ - ln -fs `which $(CROSS)$${app}` $(INSTALL_DIR)/bin/$${app}; \ - done)\ - ) - $(shell (for app in cc1 cc1plus; do \ - ln -fs $(CC1DIR)$${app} $(INSTALL_DIR)/bin/$${app}; \ - done)\ - ) + install -m 755 $(TARGET_ARCH)-uclibc-ld $(INSTALL_DIR)/usr/bin/ ; \ + ln -fs ../usr/bin/$(TARGET_ARCH)-uclibc-gcc $(INSTALL_DIR)/bin/cc; \ + ln -fs ../usr/bin/$(TARGET_ARCH)-uclibc-gcc $(INSTALL_DIR)/bin/gcc; \ + ln -fs ../usr/bin/$(TARGET_ARCH)-uclibc-ld $(INSTALL_DIR)/bin/ld; \ + ln -fs $(TARGET_ARCH)-uclibc-gcc $(INSTALL_DIR)/usr/bin/$(TARGET_ARCH)-uclibc-cc; \ + fi; + for app in addr2line ar as cpp gasp nm objcopy \ + objdump ranlib readelf size strings strip; do \ + ln -fs `which $(CROSS)$${app}` $(INSTALL_DIR)/bin/$${app}; \ + done; + for app in addr2line ar as cpp gasp nm objcopy \ + objdump ranlib readelf size strings strip; do \ + ln -fs `which $(CROSS)$${app}` $(INSTALL_DIR)/usr/bin/$(TARGET_ARCH)-uclibc-$${app}; \ + done; + clean: - rm -f gcc-uClibc.h *-uclibc-gcc core + rm -f gcc-uClibc.h *-uclibc-gcc *-uclibc-ld core -- cgit v1.2.3