From 84a9d87e2d6b237ff10990338ce76f050e1c3e2a Mon Sep 17 00:00:00 2001
From: Eric Andersen <andersen@codepoet.org>
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')

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