summaryrefslogtreecommitdiffstats
path: root/make
diff options
context:
space:
mode:
Diffstat (limited to 'make')
-rw-r--r--make/ext2root.mk6
-rw-r--r--make/ncurses.mk4
-rw-r--r--make/tinylogin.mk1
-rw-r--r--make/uclibc.mk88
-rw-r--r--make/user-mode-linux.mk2
5 files changed, 70 insertions, 31 deletions
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 <ken@246gt.com>
-# $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 <andersen@codepoet.org>
+# Copyright (C) 2002 by Tim Riker <Tim@Rikers.org>
+#
+# 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