From 95f81a5a5552ad42b188fc56f2c38eb8c17542de Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 3 Jul 2002 10:44:59 +0000 Subject: A number of updates --- make/ext2root.mk | 6 ++-- make/ncurses.mk | 4 +-- make/tinylogin.mk | 1 + make/uclibc.mk | 88 +++++++++++++++++++++++++++++++++++-------------- make/user-mode-linux.mk | 2 +- 5 files changed, 70 insertions(+), 31 deletions(-) (limited to 'make') diff --git a/make/ext2root.mk b/make/ext2root.mk index 37a9da2c0..33ec01ba7 100644 --- a/make/ext2root.mk +++ b/make/ext2root.mk @@ -35,12 +35,12 @@ genext2fs: $(GENEXT2_DIR)/genext2fs # ############################################################# # FIXME -- calculate these numbers... -SIZE=4000 +SIZE=8000 INODES=1000 ext2root: genext2fs #$(shell find $(TARGET_DIR) -type f) - -@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true; - -@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true; + #-@find $(TARGET_DIR)/lib -type f -name \*.so\* | xargs $(STRIP) --strip-unneeded 2>/dev/null || true; + #-@find $(TARGET_DIR) -type f -perm +111 | xargs $(STRIP) 2>/dev/null || true; $(GENEXT2_DIR)/genext2fs -i $(INODES) -b $(SIZE) -d $(TARGET_DIR) -D $(SOURCE_DIR)/device_table.txt $(IMAGE) ext2root-source: $(DL_DIR)/$(GENEXT2_SOURCE) diff --git a/make/ncurses.mk b/make/ncurses.mk index 8d612daa9..52a7a7d3f 100644 --- a/make/ncurses.mk +++ b/make/ncurses.mk @@ -5,7 +5,7 @@ # ############################################################# # Copyright (C) 2002 by Ken Restivo -# $Id: ncurses.mk,v 1.6 2002/06/10 15:32:56 andersen Exp $ +# $Id: ncurses.mk,v 1.7 2002/07/03 10:44:59 andersen Exp $ # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU Library General Public License as @@ -64,7 +64,7 @@ $(STAGING_DIR)/lib/libncurses.so: $(NCURSES_DIR)/lib/libncurses.so $(TARGET_DIR)/lib/libncurses.so: $(STAGING_DIR)/lib/libncurses.so cp -a $(STAGING_DIR)/lib/libncurses.so* $(TARGET_DIR)/lib/ - cp -a $(STAGING_DIR)/usr/lib/terminfo $(TARGET_DIR)/usr/lib/ + -cp -a $(STAGING_DIR)/usr/lib/terminfo $(TARGET_DIR)/usr/lib/ for i in x/xterm x/xterm-color x/xterm-xfree86 v/vt100 v/vt200 a/ansi l/linux; do \ cd $(STAGING_DIR)/usr/share/; \ tar -cf - terminfo/$${i} | \ diff --git a/make/tinylogin.mk b/make/tinylogin.mk index 4068f31f0..64292c73f 100644 --- a/make/tinylogin.mk +++ b/make/tinylogin.mk @@ -19,6 +19,7 @@ $(TINYLOGIN_DIR)/Config.h: $(DL_DIR)/$(TINYLOGIN_SOURCE) perl -i -p -e "s/\`id -u\` -ne 0/0 == 1/;" \ -e "s/4755 --owner=root --group=root/755/" \ $(TINYLOGIN_DIR)/install.sh + perl -i -p -e "s/^DODEBUG.*/DODEBUG=true/g;" $(TINYLOGIN_DIR)/Makefile # date test this one touch $(TINYLOGIN_DIR)/Config.h diff --git a/make/uclibc.mk b/make/uclibc.mk index e8c38ef82..450597126 100644 --- a/make/uclibc.mk +++ b/make/uclibc.mk @@ -3,17 +3,36 @@ # uClibc (the C library) # ############################################################# +# Copyright (C) 2001, 2002 by Erik Andersen +# Copyright (C) 2002 by Tim Riker +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU Library General Public License as +# published by the Free Software Foundation; either version 2 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Library General Public License for more details. +# +# You should have received a copy of the GNU Library General Public +# License along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +# USA + +ifeq ($(USE_UCLIBC_TOOLCHAIN),false) ifeq ($(USE_UCLIBC_SNAPSHOT),true) # Be aware that this changes daily.... UCLIBC_DIR=$(BUILD_DIR)/uClibc UCLIBC_SOURCE=uClibc-snapshot.tar.bz2 else -UCLIBC_DIR:=$(BUILD_DIR)/uClibc-0.9.11 -UCLIBC_SOURCE:=uClibc-0.9.11.tar.bz2 +UCLIBC_DIR:=$(BUILD_DIR)/uClibc-0.9.12 +UCLIBC_SOURCE:=uClibc-0.9.12.tar.bz2 endif -#UCLIBC_URI:=http://www.uclibc.org/downloads -UCLIBC_URI:=http://de.busybox.net/downloads/uClibc +#UCLIBC_PATCH=$(SOURCE_DIR)/uClibc.patch +UCLIBC_URI:=ftp://www.uclibc.org/uClibc ifeq ($(strip $(BUILD_WITH_LARGEFILE)),true) LARGEFILE=true else @@ -26,46 +45,63 @@ endif $(DL_DIR)/$(UCLIBC_SOURCE): wget -P $(DL_DIR) --passive-ftp $(UCLIBC_URI)/$(UCLIBC_SOURCE) -uclibc-source: $(DL_DIR)/$(UCLIBC_SOURCE) +uclibc-source: $(DL_DIR)/$(UCLIBC_SOURCE) #$(UCLIBC_PATCH) -$(UCLIBC_DIR)/.unpacked: $(DL_DIR)/$(UCLIBC_SOURCE) - rm -rf $(UCLIBC_DIR) - bzcat $(DL_DIR)/$(UCLIBC_SOURCE) | tar -C $(BUILD_DIR) -xvf - +$(UCLIBC_DIR)/.unpacked: $(DL_DIR)/$(UCLIBC_SOURCE) #$(UCLIBC_PATCH) + bzcat $(DL_DIR)/$(UCLIBC_SOURCE) | tar -C $(BUILD_DIR) -xvf - touch $(UCLIBC_DIR)/.unpacked -$(UCLIBC_DIR)/.configured: $(UCLIBC_DIR)/.unpacked +ifeq ($(LINUX_DIR),) +LINUX_DIR:=$(BUILD_DIR)/linux +endif + +$(UCLIBC_DIR)/Config: $(UCLIBC_DIR)/.unpacked + cp $(UCLIBC_DIR)/extra/Configs/Config.$(ARCH) $(UCLIBC_DIR)/Config~; + echo "TARGET_ARCH=$(ARCH)" >> $(UCLIBC_DIR)/Config~ $(UCLIBC_DIR)/extra/Configs/uClibc_config_fix.pl \ --arch=$(ARCH) \ $(CROSSARG) --c99_math=true \ --devel_prefix=$(STAGING_DIR) \ - --float=true \ --kernel_dir=$(LINUX_DIR) \ - --large_file=$(LARGEFILE) \ - --ldso_path="/lib" \ + --float=true \ + --c99_math=true \ --long_long=true \ - --rpc_support=true \ + --float=true \ --shadow=true \ - --shared_support=true \ --threads=true \ - --debug=true \ - --file=$(UCLIBC_DIR)/extra/Configs/Config.$(ARCH) \ + --rpc_support=true \ + --large_file=true \ + --mmu=true \ + --debug=false \ + --ldso_path="/lib" \ + --shared_support=true \ + --file=$(UCLIBC_DIR)/Config~ \ > $(UCLIBC_DIR)/Config; - perl -i -p -e 's,SYSTEM_DEVEL_PREFIX.*,SYSTEM_DEVEL_PREFIX=$(STAGING_DIR)/usr,g' \ + perl -i -p -e 's,^SYSTEM_DEVEL_PREFIX.*,SYSTEM_DEVEL_PREFIX=$(STAGING_DIR),g' \ $(UCLIBC_DIR)/Config - touch $(UCLIBC_DIR)/.configured + perl -i -p -e 's,^DEVEL_TOOL_PREFIX.*,DEVEL_TOOL_PREFIX=$(STAGING_DIR)/usr,g' \ + $(UCLIBC_DIR)/Config + perl -i -p -e 's,^HAS_WCHAR.*,HAS_WCHAR=true,g' $(UCLIBC_DIR)/Config -$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/.configured +$(UCLIBC_DIR)/lib/libc.a: $(UCLIBC_DIR)/Config $(MAKE) -C $(UCLIBC_DIR) $(STAGING_DIR)/lib/libc.a: $(UCLIBC_DIR)/lib/libc.a - $(MAKE) -C $(UCLIBC_DIR) install + $(MAKE) -C $(UCLIBC_DIR) install_dev install_runtime install_toolchain + +$(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc: $(STAGING_DIR)/lib/libc.a + $(MAKE) -C $(UCLIBC_DIR) install_toolchain + +$(TARGET_DIR)/lib/libc.so.0: $(STAGING_DIR)/bin/$(ARCH)-uclibc-gcc + $(MAKE) -C $(UCLIBC_DIR) DEVEL_PREFIX=$(TARGET_DIR) \ + SYSTEM_DEVEL_PREFIX=$(TARGET_DIR) \ + DEVEL_TOOL_PREFIX=$(TARGET_DIR)/usr \ + install_runtime -$(TARGET_DIR)/lib/libc.so.0: $(STAGING_DIR)/lib/libc.a - $(MAKE) -C $(UCLIBC_DIR) PREFIX=$(TARGET_DIR) \ - DEVEL_PREFIX=/ install_runtime install_target_utils - $(STRIP) --strip-unneeded $(TARGET_DIR)/lib/*.so* +$(TARGET_DIR)/usr/bin/ldd: $(TARGET_DIR)/lib/libc.so.0 + $(MAKE) -C $(UCLIBC_DIR) PREFIX=$(TARGET_DIR) install_target_utils -uclibc: $(LINUX_KERNEL) $(TARGET_DIR)/lib/libc.so.0 +uclibc: $(LINUX_KERNEL) $(STAGING_DIR)/lib/libc.a $(TARGET_DIR)/lib/libc.so.0 $(TARGET_DIR)/usr/bin/ldd uclibc-clean: rm -f $(TARGET_DIR)/lib/libc.so.0 @@ -74,3 +110,5 @@ uclibc-clean: uclibc-dirclean: rm -rf $(UCLIBC_DIR) + +endif diff --git a/make/user-mode-linux.mk b/make/user-mode-linux.mk index a09f28a8d..9cffa8b03 100644 --- a/make/user-mode-linux.mk +++ b/make/user-mode-linux.mk @@ -32,7 +32,7 @@ $(UMLINUX_DIR)/.set_arch: $(UMLINUX_DIR)/.patched $(UMLINUX_DIR)/.configured: $(UMLINUX_DIR)/.set_arch $(UMLINUX_KCONFIG) cp $(UMLINUX_KCONFIG) $(UMLINUX_DIR)/.config - make -C $(UMLINUX_DIR) oldconfig + make -C $(UMLINUX_DIR) oldconfig include/linux/version.h touch $(UMLINUX_DIR)/.configured $(UMLINUX_DIR)/.depend_done: $(UMLINUX_DIR)/.configured -- cgit v1.2.3