summaryrefslogtreecommitdiffstats
path: root/rules
diff options
context:
space:
mode:
Diffstat (limited to 'rules')
-rw-r--r--rules/Rules.make16
-rw-r--r--rules/autoconf-2.13.make123
-rw-r--r--rules/autoconf-2.57.make123
-rw-r--r--rules/bash.make261
-rw-r--r--rules/bootdisk.make143
-rw-r--r--rules/busybox.make163
-rw-r--r--rules/e2fsprogs.make152
-rw-r--r--rules/gmp.make138
-rw-r--r--rules/grub.make168
-rw-r--r--rules/ksymoops.make123
-rw-r--r--rules/liboop.make159
-rw-r--r--rules/lsh.make186
-rw-r--r--rules/mtd.make281
-rw-r--r--rules/ncurses.make135
-rw-r--r--rules/nettle.make132
-rw-r--r--rules/nfs-utils.make220
-rw-r--r--rules/openssh.make131
-rw-r--r--rules/openssl.make139
-rw-r--r--rules/portmap.make140
-rw-r--r--rules/proftpd.make152
-rw-r--r--rules/rootfs.make160
-rw-r--r--rules/rtai.make157
-rw-r--r--rules/tcpwrapper.make142
-rw-r--r--rules/template126
-rw-r--r--rules/u-boot-mkimage.make121
-rw-r--r--rules/utelnetd.make134
-rw-r--r--rules/xchain-binutils.make133
-rw-r--r--rules/xchain-gccstage1.make238
-rw-r--r--rules/xchain-gccstage2.make176
-rw-r--r--rules/xchain-glibc.make381
-rw-r--r--rules/xchain-kernel.make504
-rw-r--r--rules/zlib.make202
32 files changed, 5559 insertions, 0 deletions
diff --git a/rules/Rules.make b/rules/Rules.make
new file mode 100644
index 000000000..21f7d232e
--- /dev/null
+++ b/rules/Rules.make
@@ -0,0 +1,16 @@
+PASSIVEFTP = --passive-ftp
+SUDO = sudo
+PTXUSER = $(shell echo $$USER)
+GNU_HOST = $(shell uname -m)-linux
+HOSTCC = gcc
+CROSSSTRIP = $(PTXCONF_PREFIX)/bin/$(PTXCONF_GNU_TARGET)-strip
+
+#
+# some convenience functions
+#
+
+# FIXME: missing
+
+
+
+# vim: syntax=make
diff --git a/rules/autoconf-2.13.make b/rules/autoconf-2.13.make
new file mode 100644
index 000000000..6113fe9bb
--- /dev/null
+++ b/rules/autoconf-2.13.make
@@ -0,0 +1,123 @@
+# $Id: autoconf-2.13.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES += autoconf213
+
+#
+# Paths and names
+#
+AUTOCONF213 = autoconf-2.13
+AUTOCONF213_URL = ftp://ftp.gnu.org/pub/gnu/autoconf/$(AUTOCONF213).tar.gz
+AUTOCONF213_SOURCE = $(SRCDIR)/$(AUTOCONF213).tar.gz
+AUTOCONF213_DIR = $(BUILDDIR)/$(AUTOCONF213)
+AUTOCONF213_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+autoconf213_get: $(STATEDIR)/autoconf213.get
+
+$(STATEDIR)/autoconf213.get: $(AUTOCONF213_SOURCE)
+ touch $@
+
+$(AUTOCONF213_SOURCE):
+ @echo
+ @echo -----------------------
+ @echo target: autoconf213.get
+ @echo -----------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(AUTOCONF213_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+autoconf213_extract: $(STATEDIR)/autoconf213.extract
+
+$(STATEDIR)/autoconf213.extract: $(STATEDIR)/autoconf213.get
+ @echo
+ @echo ---------------------------
+ @echo target: autoconf213.extract
+ @echo ---------------------------
+ @echo
+ $(AUTOCONF213_EXTRACT) $(AUTOCONF213_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+autoconf213_prepare: $(STATEDIR)/autoconf213.prepare
+
+$(STATEDIR)/autoconf213.prepare: $(STATEDIR)/autoconf213.extract
+ @echo
+ @echo ---------------------------
+ @echo target: autoconf213.prepare
+ @echo ---------------------------
+ @echo
+ cd $(AUTOCONF213_DIR) && \
+ CFLAGS=$(CFLAGS) ./configure --prefix=$(PTXCONF_PREFIX)/$(AUTOCONF213)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+autoconf213_compile: $(STATEDIR)/autoconf213.compile
+
+$(STATEDIR)/autoconf213.compile: $(STATEDIR)/autoconf213.prepare
+ @echo
+ @echo -------------------
+ @echo target: autoconf213.compile
+ @echo -------------------
+ @echo
+ make -C $(AUTOCONF213_DIR) $(MAKEPARMS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+autoconf213_install: $(STATEDIR)/autoconf213.install
+
+$(STATEDIR)/autoconf213.install: $(STATEDIR)/autoconf213.compile
+ @echo
+ @echo -------------------
+ @echo target: autoconf213.install
+ @echo -------------------
+ @echo
+ make -C $(AUTOCONF213_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+autoconf213_targetinstall: $(STATEDIR)/autoconf213.targetinstall
+
+$(STATEDIR)/autoconf213.targetinstall: $(STATEDIR)/autoconf213.install
+ @echo
+ @echo -------------------------
+ @echo target: autoconf213.targetinstall
+ @echo -------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+autoconf213_clean:
+ rm -rf $(STATEDIR)/autoconf213.* $(AUTOCONF213_DIR)
+
+# vim: syntax=make
diff --git a/rules/autoconf-2.57.make b/rules/autoconf-2.57.make
new file mode 100644
index 000000000..65e2497dc
--- /dev/null
+++ b/rules/autoconf-2.57.make
@@ -0,0 +1,123 @@
+# $Id: autoconf-2.57.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES += autoconf257
+
+#
+# Paths and names
+#
+AUTOCONF257 = autoconf-2.57
+AUTOCONF257_URL = ftp://ftp.gnu.org/pub/gnu/autoconf/$(AUTOCONF257).tar.gz
+AUTOCONF257_SOURCE = $(SRCDIR)/$(AUTOCONF257).tar.gz
+AUTOCONF257_DIR = $(BUILDDIR)/$(AUTOCONF257)
+AUTOCONF257_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+autoconf257_get: $(STATEDIR)/autoconf257.get
+
+$(STATEDIR)/autoconf257.get: $(AUTOCONF257_SOURCE)
+ touch $@
+
+$(AUTOCONF257_SOURCE):
+ @echo
+ @echo -----------------------
+ @echo target: autoconf257.get
+ @echo -----------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(AUTOCONF257_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+autoconf257_extract: $(STATEDIR)/autoconf257.extract
+
+$(STATEDIR)/autoconf257.extract: $(STATEDIR)/autoconf257.get
+ @echo
+ @echo ---------------------------
+ @echo target: autoconf257.extract
+ @echo ---------------------------
+ @echo
+ $(AUTOCONF257_EXTRACT) $(AUTOCONF257_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+autoconf257_prepare: $(STATEDIR)/autoconf257.prepare
+
+$(STATEDIR)/autoconf257.prepare: $(STATEDIR)/autoconf257.extract
+ @echo
+ @echo ---------------------------
+ @echo target: autoconf257.prepare
+ @echo ---------------------------
+ @echo
+ cd $(AUTOCONF257_DIR) && \
+ CFLAGS=$(CFLAGS) ./configure --prefix=$(PTXCONF_PREFIX)/$(AUTOCONF257)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+autoconf257_compile: $(STATEDIR)/autoconf257.compile
+
+$(STATEDIR)/autoconf257.compile: $(STATEDIR)/autoconf257.prepare
+ @echo
+ @echo ---------------------------
+ @echo target: autoconf257.compile
+ @echo ---------------------------
+ @echo
+ make -C $(AUTOCONF257_DIR) $(MAKEPARMS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+autoconf257_install: $(STATEDIR)/autoconf257.install
+
+$(STATEDIR)/autoconf257.install: $(STATEDIR)/autoconf257.compile
+ @echo
+ @echo ---------------------------
+ @echo target: autoconf257.install
+ @echo ---------------------------
+ @echo
+ make -C $(AUTOCONF257_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+autoconf257_targetinstall: $(STATEDIR)/autoconf257.targetinstall
+
+$(STATEDIR)/autoconf257.targetinstall: $(STATEDIR)/autoconf257.install
+ @echo
+ @echo ---------------------------------
+ @echo target: autoconf257.targetinstall
+ @echo ---------------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+autoconf257_clean:
+ rm -rf $(STATEDIR)/autoconf257.* $(AUTOCONF257_DIR)
+
+# vim: syntax=make
diff --git a/rules/bash.make b/rules/bash.make
new file mode 100644
index 000000000..0b280825d
--- /dev/null
+++ b/rules/bash.make
@@ -0,0 +1,261 @@
+# $Id: bash.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2003 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y, $(PTXCONF_BASH))
+PACKAGES += bash
+endif
+
+#
+# Paths and names
+#
+BASH = bash-2.05b
+BASH_URL = ftp://ftp.gnu.org/pub/gnu/bash/$(BASH).tar.gz
+BASH_SOURCE = $(SRCDIR)/$(BASH).tar.gz
+BASH_DIR = $(BUILDDIR)/$(BASH)
+BASH_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+bash_get: $(STATEDIR)/bash.get
+
+$(STATEDIR)/bash.get: $(BASH_SOURCE)
+ touch $@
+
+$(BASH_SOURCE):
+ @echo
+ @echo ----------------
+ @echo target: bash.get
+ @echo ----------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(BASH_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+bash_extract: $(STATEDIR)/bash.extract
+
+$(STATEDIR)/bash.extract: $(STATEDIR)/bash.get
+ @echo
+ @echo --------------------
+ @echo target: bash.extract
+ @echo --------------------
+ @echo
+ $(BASH_EXTRACT) $(BASH_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+bash_prepare: $(STATEDIR)/bash.prepare
+
+BASH_AUTOCONF = --build=i686-linux
+BASH_AUTOCONF += --host=$(PTXCONF_GNU_TARGET)
+BASH_AUTOCONF += --target=$(PTXCONF_GNU_TARGET)
+BASH_AUTOCONF += --disable-sanity-checks
+BASH_AUTOCONF += --prefix=$(PTXCONF_PREFIX)
+BASH_ENVIRONMENT= PATH=$(PTXCONF_PREFIX)/$(AUTOCONF213)/bin:$(PTXCONF_PREFIX)/bin:$$PATH
+BASH_ENVIRONMENT+= ac_cv_func_setvbuf_reversed=no bash_cv_have_mbstate_t=yes
+BASH_MAKEVARS = AR=$(PTXCONF_GNU_TARGET)-ar
+BASH_MAKEVARS += RANLIB=$(PTXCONF_GNU_TARGET)-ranlib
+BASH_MAKEVARS += CC=$(PTXCONF_GNU_TARGET)-gcc
+
+# FIXME: "disable" does not compile with bash-2.05b (at least not on ARM)
+BASH_AUTOCONF += --enable-dparen-arithmetic
+
+ifeq (y, $(PTXCONF_BASH_SHLIKE))
+# FIXME: "enable" does not compile with bash-2.05b (at least not on ARM)
+#BASH_AUTOCONF += --enable-minimal-config
+BASH_AUTOCONF += --disable-minimal-config
+else
+BASH_AUTOCONF += --disable-minimal-config
+endif
+ifeq (y, $(PTXCONF_BASH_ALIASES))
+BASH_AUTOCONF += --enable-alias
+else
+# FIXME: "disable" does not compile with bash-2.05b (at least not on ARM)
+#BASH_AUTOCONF += --disable-alias
+BASH_AUTOCONF += --enable-alias
+endif
+ifeq (y, $(PTXCONF_BASH_ARITHMETIC_FOR))
+BASH_AUTOCONF += --enable-arith-for-command
+else
+# FIXME: "disable" does not compile with bash-2.05b (at least not on ARM)
+#BASH_AUTOCONF += --disable-arith-for-command
+BASH_AUTOCONF += --enable-arith-for-command
+endif
+ifeq (y, $(PTXCONF_BASH_ARRAY))
+BASH_AUTOCONF += --enable-array-variables
+else
+BASH_AUTOCONF += --disable-array-variables
+endif
+ifeq (y, $(PTXCONF_BASH_HISTORY))
+BASH_AUTOCONF += --enable-bang-history
+else
+BASH_AUTOCONF += --disable-bang-history
+endif
+ifeq (y, $(PTXCONF_BASH_BRACE))
+BASH_AUTOCONF += --enable-brace-expansion
+else
+BASH_AUTOCONF += --disable-brace-expansion
+endif
+ifeq (y, $(PTXCONF_BASH_CONDITIONAL))
+BASH_AUTOCONF += --enable-cond-command
+else
+# FIXME: "disable" does not compile with bash-2.05b (at least not on ARM)
+# BASH_AUTOCONF += --disable-cond-command
+BASH_AUTOCONF += --enable-cond-command
+endif
+ifeq (y, $(PTXCONF_BASH_DIRSTACK))
+BASH_AUTOCONF += --enable-directory-stack
+else
+BASH_AUTOCONF += --disable-directory-stack
+endif
+ifeq (y, $(PTXCONF_BASH_EXTPATTERN))
+BASH_AUTOCONF += --enable-extended-glob
+else
+# FIXME: "disable" does not compile with bash-2.05b (at least not on ARM)
+#BASH_AUTOCONF += --disable-extended-glob
+BASH_AUTOCONF += --enable-extended-glob
+endif
+ifeq (y, $(PTXCONF_BASH_HELP))
+BASH_AUTOCONF += --enable-help-builtin
+else
+BASH_AUTOCONF += --disable-help-builtin
+endif
+ifeq (y, $(PTXCONF_BASH_CMDHISTORY))
+BASH_AUTOCONF += --enable-history
+else
+BASH_AUTOCONF += --disable-history
+endif
+ifeq (y, $(PTXCONF_BASH_JOBS))
+BASH_AUTOCONF += --enable-job-control
+else
+BASH_AUTOCONF += --disable-job-control
+endif
+ifeq (y, $(PTXCONF_BASH_LARGEFILES))
+BASH_AUTOCONF += --enable-largefile
+else
+BASH_AUTOCONF += --disable-largefile
+endif
+ifeq (y, $(PTXCONF_BASH_PROCSUBST))
+BASH_AUTOCONF += --enable-process-substitution
+else
+BASH_AUTOCONF += --disable-process-substitution
+endif
+ifeq (y, $(PTXCONF_BASH_COMPLETION))
+BASH_AUTOCONF += --enable-progcomp
+else
+BASH_AUTOCONF += --disable-progcomp
+endif
+ifeq (y, $(PTXCONF_BASH_ESC))
+BASH_AUTOCONF += --enable-prompt-string-decoding
+else
+BASH_AUTOCONF += --disable-prompt-string-decoding
+endif
+
+# these options are currently untested...
+
+ifeq (y, $(PTXCONF_BASH_EDIT))
+BASH_AUTOCONF += --enable-readline
+else
+BASH_AUTOCONF += --disable-readline
+endif
+ifeq (y, $(PTXCONF_BASH_RESTRICTED))
+BASH_AUTOCONF += --enable-restricted
+else
+BASH_AUTOCONF += --disable-restricted
+endif
+ifeq (y, $(PTXCONF_BASH_SELECT))
+BASH_AUTOCONF += --enable-select
+else
+BASH_AUTOCONF += --disable-select
+endif
+ifeq (y, $(PTXCONF_BASH_GPROF))
+BASH_AUTOCONF += --enable-profiling
+else
+BASH_AUTOCONF += --disable-profiling
+endif
+ifeq (y, $(PTXCONF_BASH_STATIC))
+BASH_AUTOCONF += --enable-static-link
+else
+BASH_AUTOCONF += --disable-static-link
+endif
+
+$(STATEDIR)/bash.prepare: $(STATEDIR)/bash.extract
+ @echo
+ @echo --------------------
+ @echo target: bash.prepare
+ @echo --------------------
+ @echo
+ mkdir -p $(BUILDDIR)/$(BASH)
+ cd $(BUILDDIR)/$(BASH) && \
+ $(BASH_ENVIRONMENT) \
+ $(BASH_DIR)/configure $(BASH_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+bash_compile: $(STATEDIR)/bash.compile
+
+$(STATEDIR)/bash.compile: $(STATEDIR)/bash.prepare
+ @echo
+ @echo --------------------
+ @echo target: bash.compile
+ @echo --------------------
+ @echo
+ make -C $(BASH_DIR) $(MAKEPARMS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+bash_install: $(STATEDIR)/bash.install
+
+$(STATEDIR)/bash.install: $(STATEDIR)/bash.compile
+ @echo
+ @echo --------------------
+ @echo target: bash.install
+ @echo --------------------
+ @echo
+ make -C $(BASH_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+bash_targetinstall: $(STATEDIR)/bash.targetinstall
+
+$(STATEDIR)/bash.targetinstall: $(STATEDIR)/bash.install
+ @echo
+ @echo --------------------------
+ @echo target: bash.targetinstall
+ @echo --------------------------
+ @echo
+ # don't forget to $(CROSSSTRIP) -S your source!
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+bash_clean:
+ rm -rf $(STATEDIR)/bash.* $(BASH_DIR)
+
+# vim: syntax=make
diff --git a/rules/bootdisk.make b/rules/bootdisk.make
new file mode 100644
index 000000000..30511ed93
--- /dev/null
+++ b/rules/bootdisk.make
@@ -0,0 +1,143 @@
+# $Id: bootdisk.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y, $(PTXCONF_GRUB_BOOTDISK))
+PACKAGES += bootdisk
+endif
+
+#
+# Paths and names
+#
+BOOTDISK =
+BOOTDISK_URL =
+BOOTDISK_SOURCE =
+BOOTDISK_DIR = $(TOPDIR)/bootdisk
+BOOTDISK_EXTRACT =
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+bootdisk_get: $(STATEDIR)/bootdisk.get
+
+$(STATEDIR)/bootdisk.get:
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+bootdisk_extract: $(STATEDIR)/bootdisk.extract
+
+$(STATEDIR)/bootdisk.extract: $(STATEDIR)/bootdisk.get
+ @echo
+ @echo ------------------------
+ @echo target: bootdisk.extract
+ @echo ------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+bootdisk_prepare: $(STATEDIR)/bootdisk.prepare
+
+$(STATEDIR)/bootdisk.prepare: $(STATEDIR)/bootdisk.extract
+ @echo
+ @echo ------------------------
+ @echo target: bootdisk.prepare
+ @echo ------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+bootdisk_compile: $(STATEDIR)/bootdisk.compile
+
+$(STATEDIR)/bootdisk.compile: $(STATEDIR)/bootdisk.prepare
+ @echo
+ @echo ------------------------
+ @echo target: bootdisk.compile
+ @echo ------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+bootdisk_install: $(STATEDIR)/bootdisk.install
+
+$(STATEDIR)/bootdisk.install: $(STATEDIR)/bootdisk.compile
+ @echo
+ @echo ------------------------
+ @echo target: bootdisk.install
+ @echo ------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+bootdisk_targetinstall: $(STATEDIR)/bootdisk.targetinstall
+
+bootdisk_targetinstall_deps = $(STATEDIR)/bootdisk.install
+bootdisk_targetinstall_deps += $(STATEDIR)/kernel.compile
+bootdisk_targetinstall_deps += $(STATEDIR)/grub.compile
+bootdisk_targetinstall_deps += $(STATEDIR)/e2fsprogs.compile
+bootdisk_targetinstall_deps += $(STATEDIR)/ncurses.compile
+
+$(STATEDIR)/bootdisk.targetinstall: $(bootdisk_targetinstall_deps)
+ @echo
+ @echo ------------------------------
+ @echo target: bootdisk.targetinstall
+ @echo ------------------------------
+ @echo
+ ifeq (y, $(PTXCONF_GRUB_BOOTDISK))
+ mkdir -p $(BOOTDISK_DIR)
+ mkdir -p $(BOOTDISK_DIR)/boot
+ mkdir -p $(BOOTDISK_DIR)/boot/grub
+ mkdir -p $(BOOTDISK_DIR)/bin
+ mkdir -p $(BOOTDISK_DIR)/lib
+ # FIXME: make this architecture independend
+ install $(KERNEL_DIR)/arch/i386/boot/bzImage $(BOOTDISK_DIR)/boot/
+ install $(GRUB_DIR)/stage1/stage1 $(BOOTDISK_DIR)/boot/grub/
+ install $(GRUB_DIR)/stage2/stage2 $(BOOTDISK_DIR)/boot/grub/
+ install $(GRUB_DIR)/grub/grub $(BOOTDISK_DIR)/bin/
+ strip $(BOOTDISK_DIR)/bin/grub
+ # FIXME: make this a config option
+ install $(SRCDIR)/grub-menu-flash-ptx1.lst $(BOOTDISK_DIR)/boot/grub/menu-flash.lst
+ install $(SRCDIR)/grub-menu-disk-ptx1.lst $(BOOTDISK_DIR)/boot/grub/menu-disk.lst
+ ln -sf menu-disk.lst $(BOOTDISK_DIR)/boot/grub/menu.lst
+ install $(E2FSPROGS_DIR)/misc/mke2fs $(BOOTDISK_DIR)/bin/
+ install $(NCURSES_DIR)/lib/libncurses.so.5.2 $(BOOTDISK_DIR)/lib/
+ strip $(BOOTDISK_DIR)/lib/libncurses.so.5.2
+ endif
+ # FIXME: is this the correct file for this rule?
+ ifeq (y, $(PTXCONF_PTXFLASH))
+ mkdir -p $(ROOTDIR)/sbin
+ install $(SRCDIR)/ptxflash $(ROOTDIR)/sbin/
+ endif
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+bootdisk_clean:
+ rm -rf $(STATEDIR)/bootdisk.* $(BOOTDISK_DIR)
+
+# vim: syntax=make
diff --git a/rules/busybox.make b/rules/busybox.make
new file mode 100644
index 000000000..d4c7f1ab4
--- /dev/null
+++ b/rules/busybox.make
@@ -0,0 +1,163 @@
+# $Id: busybox.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_BUSYBOX))
+PACKAGES += busybox
+endif
+
+#
+# Paths and names
+#
+BUSYBOX = busybox-0.61.pre-ptx9
+BUSYBOX_URL = http://www.pengutronix.de/software/ptxdist/temporary-src/$(BUSYBOX).tar.gz
+BUSYBOX_SOURCE = $(SRCDIR)/$(BUSYBOX).tar.gz
+BUSYBOX_DIR = $(BUILDDIR)/$(BUSYBOX)
+BUSYBOX_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+busybox_get: $(STATEDIR)/busybox.get
+
+busybox_get_deps = $(BUSYBOX_SOURCE)
+
+$(STATEDIR)/busybox.get: $(busybox_get_deps)
+ touch $@
+
+$(BUSYBOX_SOURCE):
+ @echo
+ @echo -------------------
+ @echo target: busybox.get
+ @echo -------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(BUSYBOX_URL)
+ @exit
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+busybox_extract: $(STATEDIR)/busybox.extract
+
+$(STATEDIR)/busybox.extract: $(STATEDIR)/busybox.get
+ @echo
+ @echo -----------------------
+ @echo target: busybox.extract
+ @echo -----------------------
+ @echo
+ $(BUSYBOX_EXTRACT) $(BUSYBOX_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+# #
+# # fix: turn off debugging in init.c
+# #
+ perl -i -p -e 's/^#define DEBUG_INIT/#undef DEBUG_INIT/g' $(BUSYBOX_DIR)/init/init.c
+# #
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+busybox_prepare: $(STATEDIR)/busybox.prepare
+
+BUSYBOX_ENVIRONMENT =
+BUSYBOX_MAKEVARS =
+BUSYBOX_ENVIRONMENT += PATH=$(PTXCONF_PREFIX)/bin:$$PATH
+BUSYBOX_MAKEVARS += CROSS=$(PTXCONF_GNU_TARGET)-
+
+#
+# dependencies
+#
+busybox_prepare_deps = $(STATEDIR)/busybox.extract
+ifeq (y,$(PTXCONF_BUILD_CROSSCHAIN))
+busybox_prepare_deps += $(STATEDIR)/xchain-gccstage2.install
+endif
+
+$(STATEDIR)/busybox.prepare: $(busybox_prepare_deps)
+ @echo
+ @echo -----------------------
+ @echo target: busybox.prepare
+ @echo -----------------------
+ @echo
+ # FIXME: is this necessary?
+ touch $(BUSYBOX_DIR)/busybox.links
+ $(BUSYBOX_ENVIRONMENT) make -C $(BUSYBOX_DIR) distclean $(BUSYBOX_MAKEVARS)
+ grep -e PTXCONF_BB_ .config > $(BUSYBOX_DIR)/.config
+ perl -i -p -e 's/PTXCONF_BB_//g' $(BUSYBOX_DIR)/.config
+ $(BUSYBOX_ENVIRONMENT) make -C $(BUSYBOX_DIR) oldconfig $(BUSYBOX_MAKEVARS)
+ $(BUSYBOX_ENVIRONMENT) make -C $(BUSYBOX_DIR) dep $(BUSYBOX_MAKEVARS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+busybox_compile_deps = $(STATEDIR)/busybox.prepare
+ifeq (y, $(PTXCONF_GLIBC))
+busybox_compile_deps += $(STATEDIR)/glibc.install
+endif
+ifeq (y, $(PTXCONF_UCLIBC))
+busybox_compile_deps += $(STATEDIR)/uclibc.install
+endif
+
+busybox_compile: $(STATEDIR)/busybox.compile
+
+$(STATEDIR)/busybox.compile: $(busybox_compile_deps)
+ @echo
+ @echo -----------------------
+ @echo target: busybox.compile
+ @echo -----------------------
+ @echo
+ $(BUSYBOX_ENVIRONMENT) make -C $(BUSYBOX_DIR) $(BUSYBOX_MAKEVARS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+busybox_install: $(STATEDIR)/busybox.install
+
+$(STATEDIR)/busybox.install: $(STATEDIR)/busybox.compile
+ @echo
+ @echo -----------------------
+ @echo target: busybox.install
+ @echo -----------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+busybox_targetinstall: $(STATEDIR)/busybox.targetinstall
+
+$(STATEDIR)/busybox.targetinstall: $(STATEDIR)/busybox.install
+ @echo
+ @echo -----------------------------
+ @echo target: busybox.targetinstall
+ @echo -----------------------------
+ @echo
+ rm -f $(BUSYBOX_DIR)/busybox.links
+ $(BUSYBOX_ENVIRONMENT) make -C $(BUSYBOX_DIR) install \
+ PREFIX=$(ROOTDIR) $(BUSYBOX_MAKEVARS)
+ $(CROSSSTRIP) -S $(ROOTDIR)/bin/busybox
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+busybox_clean:
+ -rm -rf $(STATEDIR)/busybox*
+ -rm -rf $(BUSYBOX_DIR)
+
+# vim: syntax=make
diff --git a/rules/e2fsprogs.make b/rules/e2fsprogs.make
new file mode 100644
index 000000000..275fde9f5
--- /dev/null
+++ b/rules/e2fsprogs.make
@@ -0,0 +1,152 @@
+# $Id: e2fsprogs.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y, $(PTXCONF_E2FSPROGS))
+PACKAGES += e2fsprogs
+endif
+
+#
+# Paths and names
+#
+E2FSPROGS = e2fsprogs-1.29
+E2FSPROGS_URL = http://cesnet.dl.sourceforge.net/sourceforge/e2fsprogs/e2fsprogs-1.29.tar.gz
+E2FSPROGS_SOURCE = $(SRCDIR)/$(E2FSPROGS).tar.gz
+E2FSPROGS_DIR = $(BUILDDIR)/$(E2FSPROGS)
+E2FSPROGS_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+e2fsprogs_get: $(STATEDIR)/e2fsprogs.get
+
+$(STATEDIR)/e2fsprogs.get: $(E2FSPROGS_SOURCE)
+ touch $@
+
+$(E2FSPROGS_SOURCE):
+ @echo
+ @echo ---------------------
+ @echo target: e2fsprogs.get
+ @echo ---------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(E2FSPROGS_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+e2fsprogs_extract: $(STATEDIR)/e2fsprogs.extract
+
+$(STATEDIR)/e2fsprogs.extract: $(STATEDIR)/e2fsprogs.get
+ @echo
+ @echo -------------------------
+ @echo target: e2fsprogs.extract
+ @echo -------------------------
+ @echo
+ $(E2FSPROGS_EXTRACT) $(E2FSPROGS_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+e2fsprogs_prepare: $(STATEDIR)/e2fsprogs.prepare
+
+
+E2FSPROGS_AUTOCONF = --prefix=$(PTXCONF_PREFIX)
+E2FSPROGS_AUTOCONF += --enable-fsck
+E2FSPROGS_AUTOCONF += --build=i686-linux
+E2FSPROGS_AUTOCONF += --host=$(PTXCONF_GNU_TARGET)
+E2FSPROGS_ENVIRONMENT = PATH=$(PTXCONF_PREFIX)/$(AUTOCONF213)/bin:$(PTXCONF_PREFIX)/bin:$$PATH
+E2FSPROGS_MAKEVARS = AR=$(PTXCONF_GNU_TARGET)-ar
+E2FSPROGS_MAKEVARS += RANLIB=$(PTXCONF_GNU_TARGET)-ranlib
+E2FSPROGS_MAKEVARS += CC=$(PTXCONF_GNU_TARGET)-gcc
+
+$(STATEDIR)/e2fsprogs.prepare: $(STATEDIR)/e2fsprogs.extract
+ @echo
+ @echo -------------------------
+ @echo target: e2fsprogs.prepare
+ @echo -------------------------
+ @echo
+ cd $(E2FSPROGS_DIR) && \
+ ./configure $(E2FSPROGS_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+e2fsprogs_compile: $(STATEDIR)/e2fsprogs.compile
+
+e2fsprogs_compile_deps = $(STATEDIR)/e2fsprogs.prepare
+ifeq (y, $(PTXCONF_GLIBC))
+e2fsprogs_compile_deps += $(STATEDIR)/glibc.install
+endif
+ifeq (y, $(PTXCONF_UCLIBC))
+e2fsprogs_compile_deps += $(STATEDIR)/uclibc.install
+endif
+
+$(STATEDIR)/e2fsprogs.compile: $(e2fsprogs_compile_deps)
+ @echo
+ @echo -------------------------
+ @echo target: e2fsprogs.compile
+ @echo -------------------------
+ @echo
+ # FIXME: not tested on non-x86
+ $(E2FSPROGS_ENVIRONMENT) make -C $(E2FSPROGS_DIR) $(E2FSPROGS_MAKEVARS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+e2fsprogs_install: $(STATEDIR)/e2fsprogs.install
+
+$(STATEDIR)/e2fsprogs.install: $(STATEDIR)/e2fsprogs.compile
+ @echo
+ @echo -------------------------
+ @echo target: e2fsprogs.install
+ @echo -------------------------
+ @echo
+ make -C $(E2FSPROGS_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+e2fsprogs_targetinstall: $(STATEDIR)/e2fsprogs.targetinstall
+
+$(STATEDIR)/e2fsprogs.targetinstall: $(STATEDIR)/e2fsprogs.install
+ @echo
+ @echo -------------------------------
+ @echo target: e2fsprogs.targetinstall
+ @echo -------------------------------
+ @echo
+ ifeq (y, $(PTXCONF_E2FSPROGS_MKFS))
+ install $(E2FSPROGS_DIR)/misc/mke2fs $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/mke2fs
+ endif
+ ifeq (y, $(PTXCONF_E2FSPROGS_E2FSCK))
+ install $(E2FSPROGS_DIR)/e2fsck/e2fsck.shared $(ROOTDIR)/sbin/e2fsck
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/e2fsck
+ endif
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+e2fsprogs_clean:
+ rm -rf $(STATEDIR)/e2fsprogs.* $(e2fsprogs_DIR)
+
+# vim: syntax=make
diff --git a/rules/gmp.make b/rules/gmp.make
new file mode 100644
index 000000000..41467904f
--- /dev/null
+++ b/rules/gmp.make
@@ -0,0 +1,138 @@
+# $Id: gmp.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_GMP))
+PACKAGES += gmp
+endif
+
+#
+# Paths and names
+#
+# FIXME: if lsh works with 4.1, remove 3.1
+# GMP = gmp-3.1
+# GMP_URL = ftp://ftp.gnu.org/pub/gnu/gmp/$(GMP).tar.gz
+GMP = gmp-4.1
+GMP_URL = ftp://ftp.informatik.rwth-aachen.de/pub/gnu/gmp/$(GMP).tar.gz
+GMP_SOURCE = $(SRCDIR)/$(GMP).tar.gz
+GMP_DIR = $(BUILDDIR)/$(GMP)
+GMP_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+gmp_get: $(STATEDIR)/gmp.get
+
+$(STATEDIR)/gmp.get: $(GMP_SOURCE)
+ touch $@
+
+$(GMP_SOURCE):
+ @echo
+ @echo -------
+ @echo target: gmp.get
+ @echo -------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(GMP_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+gmp_extract: $(STATEDIR)/gmp.extract
+
+$(STATEDIR)/gmp.extract: $(STATEDIR)/gmp.get
+ @echo
+ @echo -----------
+ @echo target: gmp.extract
+ @echo -----------
+ @echo
+ $(GMP_EXTRACT) $(GMP_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+gmp_prepare: $(STATEDIR)/gmp.prepare
+
+GMP_AUTOCONF =
+GMP_AUTOCONF += --build=i686-linux
+GMP_AUTOCONF += --host=$(PTXCONF_GNU_TARGET)
+GMP_AUTOCONF += --prefix=$(PTXCONF_PREFIX)
+
+$(STATEDIR)/gmp.prepare: $(STATEDIR)/gmp.extract
+ @echo
+ @echo -----------
+ @echo target: gmp.prepare
+ @echo -----------
+ @echo
+ cd $(GMP_DIR) && \
+ PATH=$(PTXCONF_PREFIX)/bin:$$PATH ./configure $(GMP_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+gmp_compile: $(STATEDIR)/gmp.compile
+
+$(STATEDIR)/gmp.compile: $(STATEDIR)/gmp.prepare
+ @echo
+ @echo -----------
+ @echo target: gmp.compile
+ @echo -----------
+ @echo
+ PATH=$(PTXCONF_PREFIX)/bin:$$PATH make -C $(GMP_DIR)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+gmp_install: $(STATEDIR)/gmp.install
+
+$(STATEDIR)/gmp.install: $(STATEDIR)/gmp.compile
+ @echo
+ @echo -----------
+ @echo target: gmp.install
+ @echo -----------
+ @echo
+ # FIXME: doesn't work when using local bin dir
+ make -C $(GMP_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+gmp_targetinstall: $(STATEDIR)/gmp.targetinstall
+
+$(STATEDIR)/gmp.targetinstall: $(STATEDIR)/gmp.install
+ @echo
+ @echo -----------------
+ @echo target: gmp.targetinstall
+ @echo -----------------
+ @echo
+ mkdir -p $(ROOTDIR)/lib
+ # preserve links -> we cannot use install
+ cp -d $(PTXCONF_PREFIX)/lib/libgmp.so* $(ROOTDIR)/lib
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libgmp.so*
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+gmp_clean:
+ rm -rf $(STATEDIR)/gmp.* $(GMP_DIR)
+
+# vim: syntax=make
diff --git a/rules/grub.make b/rules/grub.make
new file mode 100644
index 000000000..9f30cf929
--- /dev/null
+++ b/rules/grub.make
@@ -0,0 +1,168 @@
+# $Id: grub.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y, $(PTXCONF_GRUB))
+PACKAGES += grub
+endif
+
+#
+# Paths and names
+#
+GRUB = grub-0.92
+GRUB_URL = http://www.gnu.org/software/grub/$(GRUB).tar.gz
+GRUB_SOURCE = $(SRCDIR)/$(GRUB).tar.gz
+GRUB_DIR = $(BUILDDIR)/$(GRUB)
+GRUB_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+grub_get: $(STATEDIR)/grub.get
+
+$(STATEDIR)/grub.get: $(GRUB_SOURCE)
+ touch $@
+
+$(GRUB_SOURCE):
+ @echo
+ @echo ----------------
+ @echo target: grub.get
+ @echo ----------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(GRUB_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+grub_extract: $(STATEDIR)/grub.extract
+
+$(STATEDIR)/grub.extract: $(STATEDIR)/grub.get
+ @echo
+ @echo --------------------
+ @echo target: grub.extract
+ @echo --------------------
+ @echo
+ $(GRUB_EXTRACT) $(GRUB_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+grub_prepare: $(STATEDIR)/grub.prepare
+
+GRUB_AUTOCONF = --prefix=$(PTXCONF_PREFIX)
+ifeq (y, $(PTXCONF_GRUB_FFS))
+GRUB_AUTOCONF += --enable-ffs
+else
+GRUB_AUTOCONF += --disable-ffs
+endif
+ifeq (y, $(PTXCONF_GRUB_MINIXFS))
+GRUB_AUTOCONF += --enable-minix
+else
+GRUB_AUTOCONF += --disable-minix
+endif
+ifeq (y, $(PTXCONF_GRUB_REISERFS))
+GRUB_AUTOCONF += --enable-reiserfs
+else
+GRUB_AUTOCONF += --disable-reiserfs
+endif
+ifeq (y, $(PTXCONF_GRUB_VFTAFS))
+GRUB_AUTOCONF += --enable-vstafs
+else
+GRUB_AUTOCONF += --disable-vstafs
+endif
+ifeq (y, $(PTXCONF_GRUB_JFS))
+GRUB_AUTOCONF += --enable-jfs
+else
+GRUB_AUTOCONF += --disable-jfs
+endif
+ifeq (y, $(PTXCONF_GRUB_XFS))
+GRUB_AUTOCONF += --enable-xfs
+else
+GRUB_AUTOCONF += --disable-xfs
+endif
+ifeq (y, $(PTXCONF_GRUB_MD5))
+GRUB_AUTOCONF += --enable-md5-password
+else
+GRUB_AUTOCONF += --disable-md5-password
+endif
+ifeq (y, $(PTXCONF_GRUB_CS89X0))
+GRUB_AUTOCONF += --enable-cs89x0
+else
+GRUB_AUTOCONF += --disable-enable-cs89x0
+endif
+
+$(STATEDIR)/grub.prepare: $(STATEDIR)/grub.extract
+ @echo
+ @echo --------------------
+ @echo target: grub.prepare
+ @echo --------------------
+ @echo
+ cd $(GRUB_DIR) && ./configure $(GRUB_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+grub_compile: $(STATEDIR)/grub.compile
+
+$(STATEDIR)/grub.compile: $(STATEDIR)/grub.prepare
+ @echo
+ @echo --------------------
+ @echo target: grub.compile
+ @echo --------------------
+ @echo
+ make -C $(GRUB_DIR)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+grub_install: $(STATEDIR)/grub.install
+
+$(STATEDIR)/grub.install: $(STATEDIR)/grub.compile
+ @echo
+ @echo --------------------
+ @echo target: grub.install
+ @echo --------------------
+ @echo
+# make -C $(GRUB_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+grub_targetinstall: $(STATEDIR)/grub.targetinstall
+
+$(STATEDIR)/grub.targetinstall: $(STATEDIR)/grub.install
+ @echo
+ @echo --------------------------
+ @echo target: grub.targetinstall
+ @echo --------------------------
+ @echo
+ mkdir -p $(ROOTDIR)/boot/grub
+ install $(GRUB_DIR)/stage1/stage1 $(ROOTDIR)/boot/grub/
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+grub_clean:
+ rm -rf $(STATEDIR)/grub.* $(GRUB_DIR)
+
+# vim: syntax=make
diff --git a/rules/ksymoops.make b/rules/ksymoops.make
new file mode 100644
index 000000000..8fd07fcbb
--- /dev/null
+++ b/rules/ksymoops.make
@@ -0,0 +1,123 @@
+# $Id: ksymoops.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y, $(PTXCONF_KSYMOOPS))
+PACKAGES += ksymoops
+endif
+
+#
+# Paths and names
+#
+KSYMOOPS = ksymoops-2.4.6
+KSYMOOPS_URL = http://www.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/$(KSYMOOPS).tar.bz2
+KSYMOOPS_SOURCE = $(SRCDIR)/$(KSYMOOPS).tar.bz2
+KSYMOOPS_DIR = $(BUILDDIR)/$(KSYMOOPS)
+KSYMOOPS_EXTRACT = bzip2 -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+ksymoops_get: $(STATEDIR)/ksymoops.get
+
+$(STATEDIR)/ksymoops.get: $(KSYMOOPS_SOURCE)
+ touch $@
+
+$(KSYMOOPS_SOURCE):
+ @echo
+ @echo --------------------
+ @echo target: ksymoops.get
+ @echo --------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(KSYMOOPS_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+ksymoops_extract: $(STATEDIR)/ksymoops.extract
+
+$(STATEDIR)/ksymoops.extract: $(STATEDIR)/ksymoops.get
+ @echo
+ @echo ------------------------
+ @echo target: ksymoops.extract
+ @echo ------------------------
+ @echo
+ $(KSYMOOPS_EXTRACT) $(KSYMOOPS_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+ksymoops_prepare: $(STATEDIR)/ksymoops.prepare
+
+$(STATEDIR)/ksymoops.prepare: $(STATEDIR)/ksymoops.extract
+ @echo
+ @echo ------------------------
+ @echo target: ksymoops.prepare
+ @echo ------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+ksymoops_compile: $(STATEDIR)/ksymoops.compile
+
+$(STATEDIR)/ksymoops.compile: $(STATEDIR)/ksymoops.prepare
+ @echo
+ @echo ------------------------
+ @echo target: ksymoops.compile
+ @echo ------------------------
+ @echo
+ make -C $(KSYMOOPS_DIR)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+ksymoops_install: $(STATEDIR)/ksymoops.install
+
+$(STATEDIR)/ksymoops.install: $(STATEDIR)/ksymoops.compile
+ @echo
+ @echo ------------------------
+ @echo target: ksymoops.install
+ @echo ------------------------
+ @echo
+ make -C $(KSYMOOPS_DIR) install INSTALL_PREFIX=$(PTXCONF_PREFIX)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+ksymoops_targetinstall: $(STATEDIR)/ksymoops.targetinstall
+
+$(STATEDIR)/ksymoops.targetinstall: $(STATEDIR)/ksymoops.install
+ @echo
+ @echo ------------------------------
+ @echo target: ksymoops.targetinstall
+ @echo ------------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+ksymoops_clean:
+ rm -rf $(STATEDIR)/ksymoops.* $(KSYMOOPS_DIR)
+
+# vim: syntax=make
diff --git a/rules/liboop.make b/rules/liboop.make
new file mode 100644
index 000000000..5a942c432
--- /dev/null
+++ b/rules/liboop.make
@@ -0,0 +1,159 @@
+# $Id: liboop.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_LIBOOP))
+PACKAGES += liboop
+endif
+
+#
+# Paths and names
+#
+LIBOOP = liboop-0.8
+LIBOOP_URL = http://download.ofb.net/liboop/$(LIBOOP).tar.gz
+LIBOOP_SOURCE = $(SRCDIR)/$(LIBOOP).tar.gz
+LIBOOP_DIR = $(BUILDDIR)/$(LIBOOP)
+LIBOOP_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+liboop_get: $(STATEDIR)/liboop.get
+
+$(STATEDIR)/liboop.get: $(LIBOOP_SOURCE)
+ touch $@
+
+$(LIBOOP_SOURCE):
+ @echo
+ @echo ----------
+ @echo target: liboop.get
+ @echo ----------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(LIBOOP_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+liboop_extract: $(STATEDIR)/liboop.extract
+
+LIBOOP_USE_LIBTOOLIZE = libtoolize
+LIBOOP_USE_ACLOCAL = aclocal
+LIBOOP_USE_AUTOCONF = autoconf
+LIBOOP_USE_AUTOMAKE = automake
+
+$(STATEDIR)/liboop.extract: $(STATEDIR)/liboop.get
+ @echo
+ @echo --------------
+ @echo target: liboop.extract
+ @echo --------------
+ @echo
+ $(LIBOOP_EXTRACT) $(LIBOOP_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ #
+ # we have to add a switch to disable tcl
+ #
+ @echo "I the next step is not successful you should try to use"
+ @echo "libtool-1.4, automake-1.7 and autoconf-2.54. You can specify"
+ @echo "the paths with LIBOOP_USE_[LIBTOOLIZE|ACLOCAL|AUTOCONF|AUTOMAKE]."
+ #
+ cd $(LIBOOP_DIR) && cat $(SRCDIR)/liboop-0.8-ptx1.diff | patch -p1
+ rm -f $(LIBOOP_DIR)/missing
+ rm -f $(LIBOOP_DIR)/libtool
+ rm -f $(LIBOOP_DIR)/ltconfig
+ rm -f $(LIBOOP_DIR)/ltmain.sh
+ #
+ cd $(LIBOOP_DIR) && $(LIBOOP_USE_LIBTOOLIZE) --force -c
+ cd $(LIBOOP_DIR) && $(LIBOOP_USE_ACLOCAL)
+ cd $(LIBOOP_DIR) && $(LIBOOP_USE_AUTOCONF)
+ cd $(LIBOOP_DIR) && $(LIBOOP_USE_AUTOMAKE) -a
+ #
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+liboop_prepare: $(STATEDIR)/liboop.prepare
+
+LIBOOP_AUTOCONF =
+LIBOOP_AUTOCONF += --build=i686-linux
+LIBOOP_AUTOCONF += --host=$(PTXCONF_GNU_TARGET)
+LIBOOP_AUTOCONF += --prefix=$(PTXCONF_PREFIX)
+LIBOOP_AUTOCONF += --without-tcl
+
+$(STATEDIR)/liboop.prepare: $(STATEDIR)/liboop.extract
+ @echo
+ @echo --------------
+ @echo target: liboop.prepare
+ @echo --------------
+ @echo
+ cd $(LIBOOP_DIR) && \
+ PATH=$(PTXCONF_PREFIX)/bin:$$PATH ./configure $(LIBOOP_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+liboop_compile: $(STATEDIR)/liboop.compile
+
+$(STATEDIR)/liboop.compile: $(STATEDIR)/liboop.prepare
+ @echo
+ @echo --------------
+ @echo target: liboop.compile
+ @echo --------------
+ @echo
+ PATH=$(PTXCONF_PREFIX)/bin:$$PATH make -C $(LIBOOP_DIR)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+liboop_install: $(STATEDIR)/liboop.install
+
+$(STATEDIR)/liboop.install: $(STATEDIR)/liboop.compile
+ @echo
+ @echo --------------
+ @echo target: liboop.install
+ @echo --------------
+ @echo
+ # FIXME: this doesn't work when using local bin dir
+ make -C $(LIBOOP_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+liboop_targetinstall: $(STATEDIR)/liboop.targetinstall
+
+$(STATEDIR)/liboop.targetinstall: $(STATEDIR)/liboop.install
+ @echo
+ @echo --------------------
+ @echo target: liboop.targetinstall
+ @echo --------------------
+ @echo
+ # FIXME: the other liboop libraries should optionally be installed
+ # we want to preserve links, so we cannot use install
+ cp -d $(PTXCONF_PREFIX)/lib/liboop.so* $(ROOTDIR)/lib/
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/liboop.so*
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+liboop_clean:
+ rm -rf $(STATEDIR)/liboop.* $(LIBOOP_DIR)
+
+# vim: syntax=make
diff --git a/rules/lsh.make b/rules/lsh.make
new file mode 100644
index 000000000..b9a446207
--- /dev/null
+++ b/rules/lsh.make
@@ -0,0 +1,186 @@
+# $Id: lsh.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_LSH))
+PACKAGES += lsh
+endif
+
+#
+# Paths and names
+#
+LSH = lsh-1.5
+LSH_URL = http://www.lysator.liu.se/~nisse/archive/$(LSH).tar.gz
+LSH_SOURCE = $(SRCDIR)/$(LSH).tar.gz
+LSH_DIR = $(BUILDDIR)/$(LSH)
+LSH_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+lsh_get: $(STATEDIR)/lsh.get
+
+$(STATEDIR)/lsh.get: $(LSH_SOURCE)
+ touch $@
+
+$(LSH_SOURCE):
+ @echo
+ @echo -------
+ @echo target: lsh.get
+ @echo -------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(LSH_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+lsh_extract: $(STATEDIR)/lsh.extract
+
+$(STATEDIR)/lsh.extract: $(STATEDIR)/lsh.get
+ @echo
+ @echo -----------
+ @echo target: lsh.extract
+ @echo -----------
+ @echo
+ $(LSH_EXTRACT) $(LSH_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ cd $(LSH_DIR) && patch -p0 < $(SRCDIR)/lsh-1.5-ptx1.diff
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+lsh_prepare: $(STATEDIR)/lsh.prepare
+
+lsh_prepare_deps = $(STATEDIR)/lsh.extract
+lsh_prepare_deps += $(STATEDIR)/nettle.install
+lsh_prepare_deps += $(STATEDIR)/gmp.install
+lsh_prepare_deps += $(STATEDIR)/zlib.install
+lsh_prepare_deps += $(STATEDIR)/liboop.install
+
+LSH_AUTOCONF =
+LSH_AUTOCONF += --disable-kerberos
+LSH_AUTOCONF += --prefix=$(PTXCONF_PREFIX)
+LSH_AUTOCONF += --disable-pam
+LSH_AUTOCONF += --disable-tcp-forward
+LSH_AUTOCONF += --disable-x11-forward
+LSH_AUTOCONF += --disable-agent-forward
+LSH_AUTOCONF += --disable-ipv6
+LSH_AUTOCONF += --disable-utmp
+LSH_AUTOCONF += --without-system-argp
+LSH_AUTOCONF += --build=i686-linux
+LSH_AUTOCONF += --host=$(PTXCONF_GNU_TARGET)
+LSH_AUTOCONF += --with-lib-path=$(PTXCONF_PREFIX)/lib
+LSH_AUTOCONF += --with-include-path=$(PTXCONF_PREFIX)/include
+
+$(STATEDIR)/lsh.prepare: $(lsh_prepare_deps)
+ @echo
+ @echo -----------
+ @echo target: lsh.prepare
+ @echo -----------
+ @echo
+ cd $(LSH_DIR) && ./configure $(LSH_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+lsh_compile: $(STATEDIR)/lsh.compile
+
+$(STATEDIR)/lsh.compile: $(STATEDIR)/lsh.prepare
+ @echo
+ @echo -----------
+ @echo target: lsh.compile
+ @echo -----------
+ @echo
+ PATH=$(PTXCONF_PREFIX)/bin:$$PATH make -C $(LSH_DIR)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+lsh_install: $(STATEDIR)/lsh.install
+
+$(STATEDIR)/lsh.install: $(STATEDIR)/lsh.compile
+ @echo
+ @echo -----------
+ @echo target: lsh.install
+ @echo -----------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+lsh_targetinstall: $(STATEDIR)/lsh.targetinstall
+
+lsh_targetinstall_deps = $(STATEDIR)/lsh.install
+lsh_targetinstall_deps += $(STATEDIR)/gmp.targetinstall
+lsh_targetinstall_deps += $(STATEDIR)/liboop.targetinstall
+lsh_targetinstall_deps += $(STATEDIR)/zlib.targetinstall
+
+$(STATEDIR)/lsh.targetinstall: $(lsh_targetinstall_deps)
+ @echo
+ @echo -----------------
+ @echo target: lsh.targetinstall
+ @echo -----------------
+ @echo
+ ifeq (y, $(PTXCONF_LSH_EXECUV))
+ mkdir -p $(ROOTDIR)/sbin
+ install $(PTXCONF_PREFIX)/sbin/lsh-execuv $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/lsh-execuv
+ endif
+ ifeq (y, $(PTXCONF_LSH_PROXY))
+ mkdir -p $(ROOTDIR)/sbin
+ install $(PTXCONF_PREFIX)/sbin/lsh_proxy $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/lsh_proxy
+ endif
+ ifeq (y, $(PTXCONF_LSH_LSHD))
+ mkdir -p $(ROOTDIR)/sbin
+ install $(LSH_DIR)/src/lshd $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/lshd
+ endif
+ ifeq (y, $(PTXCONF_LSH_SFTPD))
+ mkdir -p $(ROOTDIR)/sbin
+ install $(PTXCONF_PREFIX)/sbin/sftp-server $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/sftp-server
+ endif
+ ifeq (y, $(PTXCONF_LSH_MAKESEED))
+ mkdir -p $(ROOTDIR)/bin
+ install $(LSH_DIR)/src/lsh-make-seed $(ROOTDIR)/bin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/bin/lsh-make-seed
+ endif
+ ifeq (y, $(PTXCONF_LSH_WRITEKEY))
+ mkdir -p $(ROOTDIR)/sbin
+ install $(LSH_DIR)/src/lsh-writekey $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/lsh-writekey
+ endif
+ ifeq (y, $(PTXCONF_LSH_KEYGEN))
+ mkdir -p $(ROOTDIR)/sbin
+ install $(LSH_DIR)/src/lsh-keygen $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/lsh-keygen
+ endif
+ mkdir -p $(ROOTDIR)/var/spool/lsh
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+lsh_clean:
+ rm -rf $(STATEDIR)/lsh.* $(LSH_DIR)
+
+# vim: syntax=make
diff --git a/rules/mtd.make b/rules/mtd.make
new file mode 100644
index 000000000..73408ac08
--- /dev/null
+++ b/rules/mtd.make
@@ -0,0 +1,281 @@
+# $Id: mtd.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2003 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+
+ifeq (y, $(PTXCONF_KERNEL_MTD))
+PACKAGES += mtd
+endif
+
+ifeq (y, $(PTXCONF_MTD_UTILS))
+PACKAGES += mtdutil
+endif
+
+#
+# Paths and names
+#
+MTD = mtd-20030301-1
+MTD_URL = http://www.pengutronix.de/software/ptxdist/temporary-src/$(MTD).tar.gz
+MTD_SOURCE = $(SRCDIR)/$(MTD).tar.gz
+MTD_DIR = $(BUILDDIR)/$(MTD)
+MTD_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+mtd_get: $(STATEDIR)/mtd.get
+
+$(STATEDIR)/mtd.get: $(MTD_SOURCE)
+ touch $@
+
+mtdutil_get: $(STATEDIR)/mtdutil.get
+
+$(STATEDIR)/mtdutil.get: $(MTD_SOURCE)
+ @echo
+ @echo -------------------
+ @echo target: mtdutil.get
+ @echo -------------------
+ @echo
+ touch $@
+
+$(MTD_SOURCE):
+ @echo
+ @echo ---------------
+ @echo target: mtd.get
+ @echo ---------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(MTD_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+mtd_extract: $(STATEDIR)/mtd.extract
+
+$(STATEDIR)/mtd.extract: $(STATEDIR)/mtd.get
+ @echo
+ @echo -------------------
+ @echo target: mtd.extract
+ @echo -------------------
+ @echo
+ $(MTD_EXTRACT) $(MTD_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+mtdutil_extract: $(STATEDIR)/mtdutil.extract
+
+$(STATEDIR)/mtdutil.extract: $(STATEDIR)/mtdutil.get
+ @echo
+ @echo -----------------------
+ @echo target: mtdutil.extract
+ @echo -----------------------
+ @echo
+ rm -fr $(BUILDDIR)/mtdutil
+ mkdir -p $(BUILDDIR)/mtdutil
+ $(MTD_EXTRACT) $(MTD_SOURCE) | $(TAR) -C $(BUILDDIR)/mtdutil -xf - $(MTD)/util
+ $(MTD_EXTRACT) $(MTD_SOURCE) | $(TAR) -C $(BUILDDIR)/mtdutil -xf - $(MTD)/fs
+ $(MTD_EXTRACT) $(MTD_SOURCE) | $(TAR) -C $(BUILDDIR)/mtdutil -xf - $(MTD)/include
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+mtd_prepare: $(STATEDIR)/mtd.prepare
+
+$(STATEDIR)/mtd.prepare: $(STATEDIR)/mtd.extract
+ @echo
+ @echo -------------------
+ @echo target: mtd.prepare
+ @echo -------------------
+ @echo
+ # Makefile is currently fucked up... @#*$
+ # FIXME: patch sent to maintainer, remove this for fixed version
+ perl -i -p -e 's/\(CFLAGS\) -o/\(LDFLAGS\) -o/g' $(MTD_DIR)/util/Makefile
+ perl -i -p -e 's/^CFLAGS \+\=/override CFLAGS +=/g' $(MTD_DIR)/util/Makefile
+ touch $@
+
+mtdutil_prepare: $(STATEDIR)/mtdutil.prepare
+
+$(STATEDIR)/mtdutil.prepare: $(STATEDIR)/mtdutil.extract
+ @echo
+ @echo -----------------------
+ @echo target: mtdutil.prepare
+ @echo -----------------------
+ @echo
+ # Makefile is currently fucked up... @#*$
+ # FIXME: patch sent to maintainer, remove this for fixed version
+ perl -i -p -e 's/\(CFLAGS\) -o/\(LDFLAGS\) -o/g' $(BUILDDIR)/mtdutil/$(MTD)/util/Makefile
+ perl -i -p -e 's/^CFLAGS \+\=/override CFLAGS +=/g' $(BUILDDIR)/mtdutil/$(MTD)/util/Makefile
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+mtd_compile: $(STATEDIR)/mtd.compile
+
+MTD_ENVIRONMENT =
+MTD_MAKEVARS = CFLAGS=-I$(PTXCONF_PREFIX)/include
+MTD_MAKEVARS += LDFLAGS=-L$(PTXCONF_PREFIX)/lib
+
+$(STATEDIR)/mtd.compile: $(STATEDIR)/mtd.prepare $(STATEDIR)/xchain-zlib.install
+ @echo
+ @echo -------------------
+ @echo target: mtd.compile
+ @echo -------------------
+ @echo
+ $(MTD_ENVIRONMENT) make -C $(MTD_DIR)/util mkfs.jffs mkfs.jffs2 $(MTD_MAKEVARS)
+ touch $@
+
+
+mtdutil_compile_deps = $(STATEDIR)/mtdutil.prepare
+mtdutil_compile_deps += $(STATEDIR)/zlib.install
+
+MTD-UTIL_ENVIRONMENT =
+MTD-UTIL_MAKEVARS =
+MTD-UTIL_ENVIRONMENT += PATH=$(PTXCONF_PREFIX)/bin:$$PATH
+MTD-UTIL_MAKEVARS += CROSS=$(PTXCONF_GNU_TARGET)-
+MTD-UTIL_MAKEVARS += CFLAGS=-I$(PTXCONF_PREFIX)/include
+MTD-UTIL_MAKEVARS += LDFLAGS=-L$(ZLIB_DIR)
+
+mtdutil_compile: $(STATEDIR)/mtdutil.compile
+
+$(STATEDIR)/mtdutil.compile: $(mtdutil_compile_deps)
+ @echo
+ @echo -----------------------
+ @echo target: mtdutil.compile
+ @echo -----------------------
+ @echo
+ $(MTD-UTIL_ENVIRONMENT) make -C $(BUILDDIR)/mtdutil/$(MTD)/util $(MTD-UTIL_MAKEVARS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+mtd_install: $(STATEDIR)/mtd.install
+
+$(STATEDIR)/mtd.install: $(STATEDIR)/mtd.compile
+ @echo
+ @echo -------------------
+ @echo target: mtd.install
+ @echo -------------------
+ @echo
+ install $(MTD_DIR)/util/mkfs.jffs $(PTXCONF_PREFIX)/bin
+ install $(MTD_DIR)/util/mkfs.jffs2 $(PTXCONF_PREFIX)/bin
+ touch $@
+
+mtdutil_install: $(STATEDIR)/mtdutil.install
+
+$(STATEDIR)/mtdutil.install: $(STATEDIR)/mtdutil.compile
+ @echo
+ @echo -----------------------
+ @echo target: mtdutil.install
+ @echo -----------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+mtd_targetinstall: $(STATEDIR)/mtd.targetinstall
+
+$(STATEDIR)/mtd.targetinstall: $(STATEDIR)/mtd.install
+ @echo
+ @echo -------------------------
+ @echo target: mtd.targetinstall
+ @echo -------------------------
+ @echo
+ touch $@
+
+mtdutil_targetinstall: $(STATEDIR)/mtdutil.targetinstall
+
+$(STATEDIR)/mtdutil.targetinstall: $(STATEDIR)/mtdutil.install
+ @echo
+ @echo -----------------------------
+ @echo target: mtdutil.targetinstall
+ @echo -----------------------------
+ @echo
+ ifeq (y, $(PTXCONF_MTD_EINFO))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/einfo $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/einfo
+ endif
+ ifeq (y, $(PTXCONF_MTD_ERASE))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/erase $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/erase
+ endif
+ ifeq (y, $(PTXCONF_MTD_ERASEALL))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/eraseall $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/eraseall
+ endif
+ ifeq (y, $(PTXCONF_MTD_FCP))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/fcp $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/fcp
+ endif
+ ifeq (y, $(PTXCONF_MTD_FTL_CHECK))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/ftl_check $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/check
+ endif
+ ifeq (y, $(PTXCONF_MTD_FTL_FORMAT))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/ftl_format $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/ftl_format
+ endif
+ ifeq (y, $(PTXCONF_MTD_JFFS2READER))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/jffs2reader $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/jffs2reader
+ endif
+ ifeq (y, $(PTXCONF_MTD_LOCK))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/lock $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/lock
+ endif
+ ifeq (y, $(PTXCONF_MTD_MTDDEBUG))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/mtd_debug $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/mtd_debug
+ endif
+ ifeq (y, $(PTXCONF_MTD_NANDDUMP))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/nanddump $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/nanddump
+ endif
+ ifeq (y, $(PTXCONF_MTD_NANDTEST))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/nandtest $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/nandtest
+ endif
+ ifeq (y, $(PTXCONF_MTD_NANDWRITE))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/nandwrite $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/nandwrite
+ endif
+ ifeq (y, $(PTXCONF_MTD_NFTL_FORMAT))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/nftl_format $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/nftl_format
+ endif
+ ifeq (y, $(PTXCONF_MTD_NFTLDUMP))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/nftldump $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/nftldump
+ endif
+ ifeq (y, $(PTXCONF_MTD_UNLOCK))
+ install $(BUILDDIR)/mtdutil/$(MTD)/util/unlock $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/unlock
+ endif
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+mtd_clean:
+ rm -rf $(STATEDIR)/mtd.* $(MTD_DIR)
+
+mtdutil_clean:
+ rm -fr $(STATEDIR)/mtdutil.* $(BUILDDIR)/mtdutil
+
+# vim: syntax=make
diff --git a/rules/ncurses.make b/rules/ncurses.make
new file mode 100644
index 000000000..ba3e87cc7
--- /dev/null
+++ b/rules/ncurses.make
@@ -0,0 +1,135 @@
+# $Id: ncurses.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+# FIXME: this is currently not integrated into PTXCONF
+ifeq (y, $(PTXCONF_NCURSES))
+PACKAGES += ncurses
+endif
+
+#
+# Paths and names
+#
+NCURSES = ncurses-5.2
+NCURSES_URL = ftp://ftp.gnu.org/pub/gnu/ncurses/$(NCURSES).tar.gz
+NCURSES_SOURCE = $(SRCDIR)/$(NCURSES).tar.gz
+NCURSES_DIR = $(BUILDDIR)/$(NCURSES)
+NCURSES_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+ncurses_get: $(STATEDIR)/ncurses.get
+
+$(STATEDIR)/ncurses.get: $(NCURSES_SOURCE)
+ touch $@
+
+$(NCURSES_SOURCE):
+ @echo
+ @echo -----------
+ @echo target: ncurses.get
+ @echo -----------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(NCURSES_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+ncurses_extract: $(STATEDIR)/ncurses.extract
+
+$(STATEDIR)/ncurses.extract: $(STATEDIR)/ncurses.get
+ @echo
+ @echo ---------------
+ @echo target: ncurses.extract
+ @echo ---------------
+ @echo
+ $(NCURSES_EXTRACT) $(NCURSES_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+ncurses_prepare: $(STATEDIR)/ncurses.prepare
+
+# FIXME: this has to be filled...
+NCURSES_AUTOCONF = --prefix=$(PTXCONF_PREFIX)
+NCURSES_AUTOCONF += --with-shared
+NCURSES_ENVIRONMENT = PATH=$(PTXCONF_PREFIX)/$(AUTOCONF213)/bin:$(PTXCONF_PREFIX)/bin:$$PATH
+NCURSES_MAKEVARS = AR=$(PTXCONF_GNU_TARGET)-ar
+NCURSES_MAKEVARS += RANLIB=$(PTXCONF_GNU_TARGET)-ranlib
+NCURSES_MAKEVARS += CC=$(PTXCONF_GNU_TARGET)-gcc
+#
+#
+
+
+$(STATEDIR)/ncurses.prepare: $(STATEDIR)/ncurses.extract
+ @echo
+ @echo ---------------
+ @echo target: ncurses.prepare
+ @echo ---------------
+ @echo
+ cd $(NCURSES_DIR) && ./configure $(NCURSES_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+ncurses_compile: $(STATEDIR)/ncurses.compile
+
+$(STATEDIR)/ncurses.compile: $(STATEDIR)/ncurses.prepare
+ @echo
+ @echo ---------------
+ @echo target: ncurses.compile
+ @echo ---------------
+ @echo
+ cd $(NCURSES_DIR) && $(NCURSES_ENVIRONMENT) make $(NCURSES_MAKEVARS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+ncurses_install: $(STATEDIR)/ncurses.install
+
+$(STATEDIR)/ncurses.install: $(STATEDIR)/ncurses.compile
+ @echo
+ @echo ---------------
+ @echo target: ncurses.install
+ @echo ---------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+ncurses_targetinstall: $(STATEDIR)/ncurses.targetinstall
+
+$(STATEDIR)/ncurses.targetinstall: $(STATEDIR)/ncurses.install
+ @echo
+ @echo ---------------------
+ @echo target: ncurses.targetinstall
+ @echo ---------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+ncurses_clean:
+ rm -rf $(STATEDIR)/ncurses.* $(NCURSES_DIR)
+
+# vim: syntax=make
diff --git a/rules/nettle.make b/rules/nettle.make
new file mode 100644
index 000000000..5fd361109
--- /dev/null
+++ b/rules/nettle.make
@@ -0,0 +1,132 @@
+# $Id: nettle.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_NETTLE))
+PACKAGES += nettle
+endif
+
+#
+# Paths and names
+#
+NETTLE = nettle-1.5
+NETTLE_URL = http://www.lysator.liu.se/~nisse/archive/$(NETTLE).tar.gz
+NETTLE_SOURCE = $(SRCDIR)/$(NETTLE).tar.gz
+NETTLE_DIR = $(BUILDDIR)/$(NETTLE)
+NETTLE_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+nettle_get: $(STATEDIR)/nettle.get
+
+$(STATEDIR)/nettle.get: $(NETTLE_SOURCE)
+ touch $@
+
+$(NETTLE_SOURCE):
+ @echo
+ @echo ----------
+ @echo target: nettle.get
+ @echo ----------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(NETTLE_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+nettle_extract: $(STATEDIR)/nettle.extract
+
+$(STATEDIR)/nettle.extract: $(STATEDIR)/nettle.get
+ @echo
+ @echo --------------
+ @echo target: nettle.extract
+ @echo --------------
+ @echo
+ $(NETTLE_EXTRACT) $(NETTLE_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+nettle_prepare: $(STATEDIR)/nettle.prepare
+
+NETTLE_AUTOCONF =
+NETTLE_AUTOCONF += --build=i686-linux
+NETTLE_AUTOCONF += --host=$(PTXCONF_GNU_TARGET)
+NETTLE_AUTOCONF += --prefix=$(PTXCONF_PREFIX)
+
+$(STATEDIR)/nettle.prepare: $(STATEDIR)/nettle.extract
+ @echo
+ @echo --------------
+ @echo target: nettle.prepare
+ @echo --------------
+ @echo
+ cd $(NETTLE_DIR) && \
+ PATH=$(PTXCONF_PREFIX)/bin:$$PATH ./configure $(NETTLE_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+nettle_compile: $(STATEDIR)/nettle.compile
+
+$(STATEDIR)/nettle.compile: $(STATEDIR)/nettle.prepare
+ @echo
+ @echo --------------
+ @echo target: nettle.compile
+ @echo --------------
+ @echo
+ PATH=$(PTXCONF_PREFIX)/bin:$$PATH make -C $(NETTLE_DIR)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+nettle_install: $(STATEDIR)/nettle.install
+
+$(STATEDIR)/nettle.install: $(STATEDIR)/nettle.compile
+ @echo
+ @echo --------------
+ @echo target: nettle.install
+ @echo --------------
+ @echo
+ # FIXME: this doesn't work when using local bin directory...?
+ make -C $(NETTLE_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+nettle_targetinstall: $(STATEDIR)/nettle.targetinstall
+
+$(STATEDIR)/nettle.targetinstall: $(STATEDIR)/nettle.install
+ @echo
+ @echo --------------------
+ @echo target: nettle.targetinstall
+ @echo --------------------
+ @echo
+ # nettle is only static at the moment
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+nettle_clean:
+ rm -rf $(STATEDIR)/nettle.* $(NETTLE_DIR)
+
+# vim: syntax=make
diff --git a/rules/nfs-utils.make b/rules/nfs-utils.make
new file mode 100644
index 000000000..d026859f3
--- /dev/null
+++ b/rules/nfs-utils.make
@@ -0,0 +1,220 @@
+# $Id: nfs-utils.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2003 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y, $(PTXCONF_NFSUTILS))
+PACKAGES += nfsutils
+endif
+
+#
+# Paths and names
+#
+NFSUTILS = nfs-utils-1.0.1
+NFSUTILS_URL = http://unc.dl.sourceforge.net/sourceforge/nfs/$(NFSUTILS).tar.gz
+NFSUTILS_SOURCE = $(SRCDIR)/$(NFSUTILS).tar.gz
+NFSUTILS_DIR = $(BUILDDIR)/$(NFSUTILS)
+NFSUTILS_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+nfsutils_get: $(STATEDIR)/nfsutils.get
+
+$(STATEDIR)/nfsutils.get: $(NFSUTILS_SOURCE)
+ touch $@
+
+$(NFSUTILS_SOURCE):
+ @echo
+ @echo --------------------
+ @echo target: nfsutils.get
+ @echo --------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(NFSUTILS_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+nfsutils_extract: $(STATEDIR)/nfsutils.extract
+
+$(STATEDIR)/nfsutils.extract: $(STATEDIR)/nfsutils.get $(STATEDIR)/autoconf257.targetinstall
+ @echo
+ @echo ------------------------
+ @echo target: nfsutils.extract
+ @echo ------------------------
+ @echo
+ $(NFSUTILS_EXTRACT) $(NFSUTILS_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ #
+ # regenerate configure script with new autoconf, to make cross compiling work
+ cd $(NFSUTILS_DIR) && PATH=$(PTXCONF_PREFIX)/$(AUTOCONF257)/bin:$$PATH autoconf
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+nfsutils_prepare: $(STATEDIR)/nfsutils.prepare
+
+NFSUTILS_AUTOCONF =
+NFSUTILS_ENVIRONMENT =
+
+#
+# # arcitecture dependend configuration
+# #
+#
+NFSUTILS_AUTOCONF += --build=i686-linux
+NFSUTILS_AUTOCONF += --host=$(PTXCONF_GNU_TARGET)
+NFSUTILS_ENVIRONMENT = PATH=$(PTXCONF_PREFIX)/bin:$$PATH
+NFSUTILS_ENVIRONMENT += CC=$(PTXCONF_GNU_TARGET)-gcc CC_FOR_BUILD=gcc
+NFSUTILS_MAKEVARS =
+
+ifeq (y, $(PTXCONF_NFSUTILS_V3))
+NFSUTILS_AUTOCONF += --enable-nfsv3
+else
+NFSUTILS_AUTOCONF += --disable-nfsv3
+endif
+ifeq (y, $(PTXCONF_NFSUTILS_SECURE_STATD))
+NFSUTILS_AUTOCONF += --enable-secure-statd
+else
+NFSUTILS_AUTOCONF += --disable-secure-statd
+endif
+ifeq (y, $(PTXCONF_NFSUTILS_RQUOTAD))
+NFSUTILS_AUTOCONF += --enable-rquotad
+else
+NFSUTILS_AUTOCONF += --disable-rquotad
+endif
+
+$(STATEDIR)/nfsutils.prepare: $(STATEDIR)/nfsutils.extract
+ @echo
+ @echo ------------------------
+ @echo target: nfsutils.prepare
+ @echo ------------------------
+ @echo
+ cd $(NFSUTILS_DIR) && \
+ $(NFSUTILS_ENVIRONMENT) \
+ $(NFSUTILS_DIR)/configure \
+ $(NFSUTILS_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+nfsutils_compile: $(STATEDIR)/nfsutils.compile
+
+$(STATEDIR)/nfsutils.compile: $(STATEDIR)/nfsutils.prepare
+ @echo
+ @echo ------------------------
+ @echo target: nfsutils.compile
+ @echo ------------------------
+ @echo
+ $(NFSUTILS_ENVIRONMENT) make -C $(NFSUTILS_DIR) $(NFSUTILS_MAKEVARS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+nfsutils_install: $(STATEDIR)/nfsutils.install
+
+$(STATEDIR)/nfsutils.install: $(STATEDIR)/nfsutils.compile
+ @echo
+ @echo ------------------------
+ @echo target: nfsutils.install
+ @echo ------------------------
+ @echo
+ # make -C $(NFSUTILS_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+nfsutils_targetinstall: $(STATEDIR)/nfsutils.targetinstall
+
+$(STATEDIR)/nfsutils.targetinstall: $(STATEDIR)/nfsutils.install
+ @echo
+ @echo ------------------------------
+ @echo target: nfsutils.targetinstall
+ @echo ------------------------------
+ @echo
+ # don't forget to $(CROSSSTRIP) -S your source!
+ mkdir -p $(ROOTDIR)/etc/init.d
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_CLIENTSCRIPT))
+ install $(NFSUTILS_DIR)/etc/nodist/nfs-client $(ROOTDIR)/etc/init.d/
+ endif
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_FUNCTIONSSCRIPT))
+ install $(NFSUTILS_DIR)/etc/nodist/nfs-functions $(ROOTDIR)/etc/init.d/
+ endif
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_SERVERSCRIPT))
+ install $(NFSUTILS_DIR)/etc/nodist/nfs-server $(ROOTDIR)/etc/init.d/
+ endif
+
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_EXPORTFS))
+ install $(NFSUTILS_DIR)/utils/exportfs/exportfs $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/exportfs
+ endif
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_LOCKD))
+ install $(NFSUTILS_DIR)/utils/lockd/lockd $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/lockd
+ endif
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_MOUNTD))
+ install $(NFSUTILS_DIR)/utils/mountd/mountd $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/mountd
+ endif
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_NFSD))
+ install $(NFSUTILS_DIR)/utils/nfsd/nfsd $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/nfsd
+ endif
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_NFSSTAT))
+ install $(NFSUTILS_DIR)/utils/nfsstat/nfsstat $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/nfsstat
+ endif
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_NHFSGRAPH))
+ # don't strip, this is a shell script
+ install $(NFSUTILS_DIR)/utils/nhfsstone/nhfsgraph $(ROOTDIR)/sbin/
+ endif
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_NHFSNUMS))
+ install $(NFSUTILS_DIR)/utils/nhfsstone/nhfsnums $(ROOTDIR)/sbin/
+ # don't strip, this is a shell script
+ endif
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_NHFSRUN))
+ install $(NFSUTILS_DIR)/utils/nhfsstone/nhfsrun $(ROOTDIR)/sbin/
+ # don't strip, this is a shell script
+ endif
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_NHFSSTONE))
+ install $(NFSUTILS_DIR)/utils/nhfsstone/nhfsstone $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/nhfsstone
+ endif
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_SHOWMOUNT))
+ install $(NFSUTILS_DIR)/utils/showmount/showmount $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/showmount
+ endif
+ ifeq (y, $(PTXCONF_NFSUTILS_INSTALL_STATD))
+ install $(NFSUTILS_DIR)/utils/statd/statd $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/statd
+ endif
+ # create stuff necessary for nfs
+ mkdir -p $(ROOTDIR)/var/lib/nfs
+ touch $(ROOTDIR)/var/lib/nfs/etab
+ touch $(ROOTDIR)/var/lib/nfs/rmtab
+ touch $(ROOTDIR)/var/lib/nfs/xtab
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+nfsutils_clean:
+ rm -rf $(STATEDIR)/nfsutils.* $(NFSUTILS_DIR)
+
+# vim: syntax=make
diff --git a/rules/openssh.make b/rules/openssh.make
new file mode 100644
index 000000000..468d4adcf
--- /dev/null
+++ b/rules/openssh.make
@@ -0,0 +1,131 @@
+# $Id: openssh.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_OPENSSH))
+PACKAGES += openssh
+endif
+
+#
+# Paths and names
+#
+OPENSSH = openssh-3.5p1
+OPENSSH_URL = ftp://ftp.openssh.org/foo/bar/$(OPENSSH).tar.gz
+OPENSSH_SOURCE = $(SRCDIR)/$(OPENSSH).tar.gz
+OPENSSH_DIR = $(BUILDDIR)/$(OPENSSH)
+OPENSSH_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+openssh_get: $(STATEDIR)/openssh.get
+
+$(STATEDIR)/openssh.get: $(OPENSSH_SOURCE)
+ touch $@
+
+$(OPENSSH_SOURCE):
+ @echo
+ @echo -------------------
+ @echo target: openssh.get
+ @echo -------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(OPENSSH_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+openssh_extract: $(STATEDIR)/openssh.extract
+
+$(STATEDIR)/openssh.extract: $(STATEDIR)/openssh.get
+ @echo
+ @echo -----------------------
+ @echo target: openssh.extract
+ @echo -----------------------
+ @echo
+ $(OPENSSH_EXTRACT) $(OPENSSH_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+openssh_prepare: $(STATEDIR)/openssh.prepare
+
+OPENSSH_AUTOCONF = --prefix=$(PTXCONF_PREFIX) --with-ipv4-default
+OPENSSH_AUTOCONF += --without-pam --without-shadow --without-md5-passwords
+OPENSSH_AUTOCONF += --with-zlib=$(PTXCONF_PREFIX)
+# TODO dont know if this finds its way hardcoded into some binary:
+OPENSSH_AUTOCONF += --with-privsep-path=$(PTXCONF_PREFIX)/var/empty
+
+$(STATEDIR)/openssh.prepare: $(STATEDIR)/openssh.extract $(STATEDIR)/openssl.install
+ @echo
+ @echo -----------------------
+ @echo target: openssh.prepare
+ @echo -----------------------
+ @echo
+ cd $(OPENSSH_DIR) && LIBS=-lcrypt ./configure $(OPENSSH_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+openssh_compile: $(STATEDIR)/openssh.compile
+
+$(STATEDIR)/openssh.compile: $(STATEDIR)/openssh.prepare
+ @echo
+ @echo -----------------------
+ @echo target: openssh.compile
+ @echo -----------------------
+ @echo
+ cd $(OPENSSH_DIR) && PATH=$(PTXCONF_PREFIX)/bin:$$PATH make
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+openssh_install: $(STATEDIR)/openssh.install
+
+$(STATEDIR)/openssh.install: $(STATEDIR)/openssh.compile
+ @echo
+ @echo -----------------------
+ @echo target: openssh.install
+ @echo -----------------------
+ @echo
+ PATH=$(PTXCONF_PREFIX)/bin:$$PATH make -C $(OPENSSH_DIR) install PREFIX=$(PTXCONF_PREFIX)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+openssh_targetinstall: $(STATEDIR)/openssh.targetinstall
+
+$(STATEDIR)/openssh.targetinstall: $(STATEDIR)/openssh.install
+ @echo
+ @echo -----------------------------
+ @echo target: openssh.targetinstall
+ @echo -----------------------------
+ @echo
+ echo 'TODO: install openssh files (dont forget privsep)'
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+openssh_clean:
+ rm -rf $(STATEDIR)/openssh.* $(OPENSSH_DIR)
+
+# vim: syntax=make
diff --git a/rules/openssl.make b/rules/openssl.make
new file mode 100644
index 000000000..f8c5b5502
--- /dev/null
+++ b/rules/openssl.make
@@ -0,0 +1,139 @@
+# $Id: openssl.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Jochen Striepe for Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_OPENSSL))
+PACKAGES += openssl
+endif
+
+#
+# Paths and names
+#
+OPENSSL = openssl-0.9.7
+OPENSSL_URL = http://www.openssl.org/foo/bar/$(OPENSSL).tar.gz
+OPENSSL_SOURCE = $(SRCDIR)/$(OPENSSL).tar.gz
+OPENSSL_DIR = $(BUILDDIR)/$(OPENSSL)
+OPENSSL_EXTRACT = gzip -dc
+
+ifeq (y,$(PTXCONF_ARCH_ARM))
+ THUD = linux-elf-arm
+endif
+ifeq (y,$(PTXCONF_ARCH_X86))
+ THUD = linux-elf
+endif
+ifeq (y,$(PTXCONF_OPT_I686))
+ THUD = linux-ppro
+endif
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+openssl_get: $(STATEDIR)/openssl.get
+
+$(STATEDIR)/openssl.get: $(OPENSSL_SOURCE)
+ touch $@
+
+$(OPENSSL_SOURCE):
+ @echo
+ @echo -------------------
+ @echo target: openssl.get
+ @echo -------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(OPENSSL_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+openssl_extract: $(STATEDIR)/openssl.extract
+
+$(STATEDIR)/openssl.extract: $(STATEDIR)/openssl.get
+ @echo
+ @echo -----------------------
+ @echo target: openssl.extract
+ @echo -----------------------
+ @echo
+ $(OPENSSL_EXTRACT) $(OPENSSL_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+openssl_prepare: $(STATEDIR)/openssl.prepare
+
+openssl_prepare_deps = $(STATEDIR)/openssl.extract
+openssl_prepare_deps += $(STATEDIR)/zlib.install
+openssl_prepare_deps += $(STATEDIR)/glibc.install
+
+$(STATEDIR)/openssl.prepare: $(openssl_prepare_deps)
+ @echo
+ @echo -----------------------
+ @echo target: openssl.prepare
+ @echo -----------------------
+ @echo
+ cd $(OPENSSL_DIR) && ./Configure $(THUD) --prefix=$(PTXCONF_PREFIX) no-shared
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+openssl_compile: $(STATEDIR)/openssl.compile
+
+$(STATEDIR)/openssl.compile: $(STATEDIR)/openssl.prepare
+ @echo
+ @echo -----------------------
+ @echo target: openssl.compile
+ @echo -----------------------
+ @echo
+ cd $(OPENSSL_DIR) && PATH=$(PTXCONF_PREFIX)/bin:$$PATH make
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+openssl_install: $(STATEDIR)/openssl.install
+
+$(STATEDIR)/openssl.install: $(STATEDIR)/openssl.compile
+ @echo
+ @echo -----------------------
+ @echo target: openssl.install
+ @echo -----------------------
+ @echo
+ PATH=$(PTXCONF_PREFIX)/bin:$$PATH make -C $(OPENSSL_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+openssl_targetinstall: $(STATEDIR)/openssl.targetinstall
+
+$(STATEDIR)/openssl.targetinstall: $(STATEDIR)/openssl.install
+ @echo
+ @echo -----------------------------
+ @echo target: openssl.targetinstall
+ @echo -----------------------------
+ @echo
+ echo NO TARGET INSTALL FOR STATIC LIBS
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+openssl_clean:
+ rm -rf $(STATEDIR)/openssl.* $(OPENSSL_DIR)
+
+# vim: syntax=make
diff --git a/rules/portmap.make b/rules/portmap.make
new file mode 100644
index 000000000..5c69c422a
--- /dev/null
+++ b/rules/portmap.make
@@ -0,0 +1,140 @@
+# $Id: portmap.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y, $(PTXCONF_PORTMAP))
+PACKAGES += portmap
+endif
+
+#
+# Paths and names
+#
+PORTMAP = portmap_4
+PORTMAP_URL = ftp://ftp.porcupine.org/pub/security/$(PORTMAP).tar.gz
+PORTMAP_SOURCE = $(SRCDIR)/$(PORTMAP).tar.gz
+PORTMAP_DIR = $(BUILDDIR)/$(PORTMAP)
+PORTMAP_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+portmap_get: $(STATEDIR)/portmap.get
+
+$(STATEDIR)/portmap.get: $(PORTMAP_SOURCE)
+ touch $@
+
+$(PORTMAP_SOURCE):
+ @echo
+ @echo -------------------
+ @echo target: portmap.get
+ @echo -------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(PORTMAP_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+portmap_extract: $(STATEDIR)/portmap.extract
+
+$(STATEDIR)/portmap.extract: $(STATEDIR)/portmap.get
+ @echo
+ @echo -----------------------
+ @echo target: portmap.extract
+ @echo -----------------------
+ @echo
+ $(PORTMAP_EXTRACT) $(PORTMAP_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ # apply some fixes
+ perl -i -p -e 's/^HOSTS_ACCESS/#HOSTS_ACCESS/g' $(PORTMAP_DIR)/Makefile
+ perl -i -p -e 's/^CHECK_PORT/#CHECK_PORT/g' $(PORTMAP_DIR)/Makefile
+ perl -i -p -e "s|^WRAP_DIR=(.*)$$|WRAP_DIR = $(TCPWRAPPER_DIR)|g" $(PORTMAP_DIR)/Makefile
+ perl -i -p -e 's/^AUX/#AUX/g' $(PORTMAP_DIR)/Makefile
+ # FIXME: uggly, make patch
+ perl -i -p -e "s/const/__const/g" $(PORTMAP_DIR)/portmap.c
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+portmap_prepare: $(STATEDIR)/portmap.prepare
+
+$(STATEDIR)/portmap.prepare: $(STATEDIR)/portmap.extract
+ @echo
+ @echo -----------------------
+ @echo target: portmap.prepare
+ @echo -----------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+portmap_compile: $(STATEDIR)/portmap.compile
+
+PORTMAP_ENVIRONMENT = CC=$(PTXCONF_GNU_TARGET)-gcc
+
+portmap_compile_deps = $(STATEDIR)/portmap.prepare
+portmap_compile_deps += $(STATEDIR)/tcpwrapper.compile
+
+$(STATEDIR)/portmap.compile: $(portmap_compile_deps)
+ @echo
+ @echo -----------------------
+ @echo target: portmap.compile
+ @echo -----------------------
+ @echo
+ $(PORTMAP_ENVIRONMENT) make -C $(PORTMAP_DIR) $(PORTMAP_MAKEVARS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+portmap_install: $(STATEDIR)/portmap.install
+
+$(STATEDIR)/portmap.install: $(STATEDIR)/portmap.compile
+ @echo
+ @echo -----------------------
+ @echo target: portmap.install
+ @echo -----------------------
+ @echo
+ #make -C $(PORTMAP_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+portmap_targetinstall: $(STATEDIR)/portmap.targetinstall
+
+$(STATEDIR)/portmap.targetinstall: $(STATEDIR)/portmap.install
+ @echo
+ @echo -----------------------------
+ @echo target: portmap.targetinstall
+ @echo -----------------------------
+ @echo
+ ifeq (y, $(PTXCONF_PORTMAP_INSTALL_PORTMAPPER))
+ mkdir -p $(ROOTDIR)/sbin
+ install $(PORTMAP_DIR)/portmap $(ROOTDIR)/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/portmap
+ endif
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+portmap_clean:
+ rm -rf $(STATEDIR)/portmap.* $(PORTMAP_DIR)
+
+# vim: syntax=make
diff --git a/rules/proftpd.make b/rules/proftpd.make
new file mode 100644
index 000000000..cce4547c3
--- /dev/null
+++ b/rules/proftpd.make
@@ -0,0 +1,152 @@
+# $Id: proftpd.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y, $(PTXCONF_PROFTPD))
+PACKAGES += proftpd
+endif
+
+#
+# Paths and names
+#
+PROFTPD_VERSION = 1.2.6
+PROFTPD = proftpd-$(PROFTPD_VERSION)
+PROFTPD_URL = ftp://ftp.proftpd.org/distrib/source/$(PROFTPD).tar.gz
+PROFTPD_SOURCE = $(SRCDIR)/$(PROFTPD).tar.gz
+PROFTPD_DIR = $(BUILDDIR)/$(PROFTPD)
+PROFTPD_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+proftpd_get: $(STATEDIR)/proftpd.get
+
+$(STATEDIR)/proftpd.get: $(PROFTPD_SOURCE)
+ touch $@
+
+$(PROFTPD_SOURCE):
+ @echo
+ @echo -------------------
+ @echo target: proftpd.get
+ @echo -------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(PROFTPD_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+proftpd_extract: $(STATEDIR)/proftpd.extract
+
+$(STATEDIR)/proftpd.extract: $(STATEDIR)/proftpd.get
+ @echo
+ @echo -----------------------
+ @echo target: proftpd.extract
+ @echo -----------------------
+ @echo
+ $(PROFTPD_EXTRACT) $(PROFTPD_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+proftpd_prepare: $(STATEDIR)/proftpd.prepare
+
+PROFTPD_AUTOCONF = --prefix=/
+PROFTPD_ENVIRONMENT =
+
+ifdef PTXCONF_PROFTPD_PAM
+PROFTPD_AUTOCONF += --enable-pam
+else
+PROFTPD_AUTOCONF += --disable-pam
+endif
+ifdef PTXCONF_PROFTPD_SENDFILE
+PROFTPD_AUTOCONF += --enable-sendfile
+else
+PROFTPD_AUTOCONF += --disable-sendfile
+endif
+ifdef PTXCONF_PROFTPD_SHADOW
+PROFTPD_AUTOCONF += --enable-shadow
+else
+PROFTPD_AUTOCONF += --disable-shadow
+endif
+ifdef PTXCONF_PROFTPD_AUTOSHADOW
+PROFTPD_AUTOCONF += --enable-autoshadow
+else
+PROFTPD_AUTOCONF += --disable-autoshadow
+endif
+
+$(STATEDIR)/proftpd.prepare: $(STATEDIR)/proftpd.extract
+ @echo
+ @echo -----------------------
+ @echo target: proftpd.prepare
+ @echo -----------------------
+ @echo
+ cd $(PROFTPD_DIR) && \
+ $(PROFTPD_ENVIRONMENT) ./configure $(PROFTPD_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+proftpd_compile: $(STATEDIR)/proftpd.compile
+
+$(STATEDIR)/proftpd.compile: $(STATEDIR)/proftpd.prepare
+ @echo
+ @echo -----------------------
+ @echo target: proftpd.compile
+ @echo -----------------------
+ @echo
+ make -C $(PROFTPD_DIR) $(MAKEPARMS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+proftpd_install: $(STATEDIR)/proftpd.install
+
+$(STATEDIR)/proftpd.install: $(STATEDIR)/proftpd.compile
+ @echo
+ @echo -----------------------
+ @echo target: proftpd.install
+ @echo -----------------------
+ @echo
+ # don't make install - would install files on development host...
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+proftpd_targetinstall: $(STATEDIR)/proftpd.targetinstall
+
+$(STATEDIR)/proftpd.targetinstall: $(STATEDIR)/proftpd.install
+ @echo
+ @echo -----------------------
+ @echo target: proftpd.targetinstall
+ @echo -----------------------
+ @echo
+ install $(PROFTPD_DIR)/proftpd $(ROOTDIR)/sbin/proftpd
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/proftpd
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+proftpd_clean:
+ rm -rf $(STATEDIR)/proftpd.* $(PROFTPD_DIR)
+
+# vim: syntax=make
diff --git a/rules/rootfs.make b/rules/rootfs.make
new file mode 100644
index 000000000..d5343490b
--- /dev/null
+++ b/rules/rootfs.make
@@ -0,0 +1,160 @@
+# $Id: rootfs.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES += rootfs
+
+#
+# Paths and names
+#
+ROOTFS = root-0.1.1
+ROOTFS_URL = http://www.pengutronix.de/software/ptxdist/temporary-src/$(ROOTFS).tgz
+ROOTFS_SOURCE = $(SRCDIR)/$(ROOTFS).tgz
+ROOTFS_DIR = $(BUILDDIR)/$(ROOTFS)
+ROOTFS_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+rootfs_get: $(STATEDIR)/rootfs.get
+
+$(STATEDIR)/rootfs.get: $(ROOTFS_SOURCE)
+ touch $@
+
+$(ROOTFS_SOURCE):
+ @echo
+ @echo ------------------
+ @echo target: rootfs.get
+ @echo ------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(ROOTFS_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+rootfs_extract: $(STATEDIR)/rootfs.extract
+
+$(STATEDIR)/rootfs.extract: $(STATEDIR)/rootfs.get
+ @echo
+ @echo ----------------------
+ @echo target: rootfs.extract
+ @echo ----------------------
+ @echo
+ $(ROOTFS_EXTRACT) $(ROOTFS_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+rootfs_prepare: $(STATEDIR)/rootfs.prepare
+
+$(STATEDIR)/rootfs.prepare: $(STATEDIR)/rootfs.extract
+ @echo
+ @echo ----------------------
+ @echo target: rootfs.prepare
+ @echo ----------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+rootfs_compile: $(STATEDIR)/rootfs.compile
+
+$(STATEDIR)/rootfs.compile: $(STATEDIR)/rootfs.prepare
+ @echo
+ @echo ----------------------
+ @echo target: rootfs.compile
+ @echo ----------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+rootfs_install: $(STATEDIR)/rootfs.install
+
+$(STATEDIR)/rootfs.install: $(STATEDIR)/rootfs.compile
+ @echo
+ @echo ----------------------
+ @echo target: rootfs.install
+ @echo ----------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+rootfs_targetinstall: $(STATEDIR)/rootfs.targetinstall
+
+$(STATEDIR)/rootfs.targetinstall: $(STATEDIR)/rootfs.install
+ @echo
+ @echo ----------------------------
+ @echo target: rootfs.targetinstall
+ @echo ----------------------------
+ @echo
+ ifeq (y, $(PTXCONF_ROOTFS_PROC))
+ mkdir -p $(ROOTDIR)/proc
+ endif
+ ifeq (y, $(PTXCONF_ROOTFS_DEV))
+ mkdir -p $(ROOTDIR)/dev
+ endif
+ ifeq (y, $(PTXCONF_ROOTFS_MNT))
+ mkdir -p $(ROOTDIR)/mnt
+ endif
+ ifeq (y, $(PTXCONF_ROOTFS_FLOPPY))
+ mkdir -p $(ROOTDIR)/floppy
+ endif
+ ifeq (y, $(PTXCONF_ROOTFS_ETC))
+ rm -fr $(ROOTDIR)/etc
+ mkdir -p $(ROOTDIR)/etc
+ cp -a $(TOPDIR)/etc/$(PTXCONF_ETC_NAME)/* $(ROOTDIR)/etc/
+ endif
+ ifeq (y, $(PTXCONF_ROOTFS_TMP))
+ ifeq (y, $(PTXCONF_ROOTFS_TMP_DATALINK))
+# # FIXME: can we do this with 'test'?
+ rm -fr $(ROOTDIR)/tmp
+ ln -s /data/tmp $(ROOTDIR)/tmp
+ else
+ mkdir -p $(ROOTDIR)/tmp
+ endif
+ endif
+ ifeq (y, $(PTXCONF_ROOTFS_VAR))
+ mkdir -p $(ROOTDIR)/var
+ endif
+ ifeq (y, $(PTXCONF_ROOTFS_VAR_LOG_DATALINK))
+ mkdir -p $(ROOTDIR)/var
+# # FIXME: can we do this with 'test'?
+ rm -fr $(ROOTDIR)/var/log
+ ln -s /data/log $(ROOTDIR)/var/log
+ endif
+ ifeq (y, $(PTXCONF_ROOTFS_DATA))
+ mkdir -p $(ROOTDIR)/data
+ endif
+ ifeq (y, $(PTXCONF_ROOTFS_HOME))
+ mkdir -p $(ROOTDIR)/home
+ endif
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+rootfs_clean:
+ rm -rf $(STATEDIR)/rootfs.* $(ROOTFS_DIR)
+
+# vim: syntax=make
diff --git a/rules/rtai.make b/rules/rtai.make
new file mode 100644
index 000000000..d28f7730f
--- /dev/null
+++ b/rules/rtai.make
@@ -0,0 +1,157 @@
+# $Id: rtai.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_RTAI))
+PACKAGES += rtai
+endif
+
+#
+# Paths and names
+#
+ifeq (y, $(PTXCONF_RTAI_24_1_10))
+RTAI = rtai-24.1.10
+endif
+ifeq (y, $(PTXCONF_RTAI_24_1_9))
+RTAI = rtai-24.1.9
+endif
+RTAI_URL = http://www.aero.polimi.it/RTAI/$(RTAI).tgz
+RTAI_SOURCE = $(SRCDIR)/$(RTAI).tgz
+RTAI_DIR = $(BUILDDIR)/$(RTAI)
+RTAI_EXTRACT = gzip -dc
+ifeq (y, $(PTXCONF_KERNEL_2_4_18))
+RTAI_MODULEDIR = /lib/modules/2.4.18-rthal5/rtai
+endif
+ifeq (y, $(PTXCONF_KERNEL_2_4_19))
+RTAI_MODULEDIR = /lib/modules/2.4.19-rthal5/rtai
+endif
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+rtai_get: $(STATEDIR)/rtai.get
+
+$(STATEDIR)/rtai.get: $(RTAI_SOURCE)
+ touch $@
+
+$(RTAI_SOURCE):
+ @echo
+ @echo ----------------
+ @echo target: rtai.get
+ @echo ----------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(RTAI_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+rtai_extract: $(STATEDIR)/rtai.extract
+
+$(STATEDIR)/rtai.extract: $(STATEDIR)/rtai.get
+ @echo
+ @echo --------------------
+ @echo target: rtai.extract
+ @echo --------------------
+ @echo
+ $(RTAI_EXTRACT) $(RTAI_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+rtai_prepare: $(STATEDIR)/rtai.prepare
+
+rtai_prepare_deps = $(STATEDIR)/kernel.prepare
+rtai_prepare_deps += $(STATEDIR)/rtai.extract
+
+$(STATEDIR)/rtai.prepare: $(rtai_prepare_deps)
+ @echo
+ @echo --------------------
+ @echo target: rtai.prepare
+ @echo --------------------
+ @echo
+ install .rtaiconfig $(RTAI_DIR)
+ cd $(RTAI_DIR) && \
+ yes no | ./configure --non-interactive --linuxdir $(KERNEL_DIR) --reconf
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+rtai_compile: $(STATEDIR)/rtai.compile
+
+$(STATEDIR)/rtai.compile: $(STATEDIR)/rtai.prepare
+ @echo
+ @echo --------------------
+ @echo target: rtai.compile
+ @echo --------------------
+ @echo
+ cd $(RTAI_DIR) && make
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+rtai_install: $(STATEDIR)/rtai.install
+
+$(STATEDIR)/rtai.install: $(STATEDIR)/rtai.compile
+ @echo
+ @echo --------------------
+ @echo target: rtai.install
+ @echo --------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+rtai_targetinstall: $(STATEDIR)/rtai.targetinstall
+
+$(STATEDIR)/rtai.targetinstall: $(STATEDIR)/rtai.install
+ @echo
+ @echo --------------------------
+ @echo target: rtai.targetinstall
+ @echo --------------------------
+ @echo
+ mkdir -p $(ROOTDIR)/$(RTAI_MODULEDIR)
+ install $(RTAI_DIR)/rtaidir/rtai.o $(ROOTDIR)/$(RTAI_MODULEDIR)
+ $(CROSSSTRIP) -S $(ROOTDIR)/$(RTAI_MODULEDIR)/rtai.o
+ install $(RTAI_DIR)/upscheduler/rtai_sched_up.o $(ROOTDIR)/$(RTAI_MODULEDIR)
+ $(CROSSSTRIP) -S $(ROOTDIR)/$(RTAI_MODULEDIR)/rtai_sched_up.o
+ ln -sf rtai_sched_up.o $(ROOTDIR)/$(RTAI_MODULEDIR)/rtai_sched.o
+ ifeq (y, $(PTXCONF_RTAI_24_1_9))
+ install $(RTAI_DIR)/lxrt/rtai_lxrt.o $(ROOTDIR)/$(RTAI_MODULEDIR)
+ $(CROSSSTRIP) -S $(ROOTDIR)/$(RTAI_MODULEDIR)/rtai_lxrt.o
+ endif
+ ifeq (y, $(PTXCONF_RTAI_24_1_10))
+ install $(RTAI_DIR)/lxrt/rtai_lxrt_old.o $(ROOTDIR)/$(RTAI_MODULEDIR)
+ $(CROSSSTRIP) -S $(ROOTDIR)/$(RTAI_MODULEDIR)/rtai_lxrt_old.o
+ ln -sf rtai_lxrt_old.o $(ROOTDIR)/$(RTAI_MODULEDIR)/rtai_lxrt.o
+ endif
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+rtai_clean:
+ rm -rf $(STATEDIR)/rtai.* $(RTAI_DIR)
+
+rtai_kernel_clean:
+ rm -fr $(STATEDIR)/rtai_kernel.* $(BUILDDIR)/rtai-patches/
+
+# vim: syntax=make
diff --git a/rules/tcpwrapper.make b/rules/tcpwrapper.make
new file mode 100644
index 000000000..bfa5ce963
--- /dev/null
+++ b/rules/tcpwrapper.make
@@ -0,0 +1,142 @@
+# $Id: tcpwrapper.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2003 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y, $(PTXCONF_TCPWRAPPER))
+PACKAGES += tcpwrapper
+endif
+
+#
+# Paths and names
+#
+TCPWRAPPER = tcp_wrappers_7.6
+TCPWRAPPER_URL = ftp://ftp.porcupine.org/pub/security/$(TCPWRAPPER).tar.gz
+TCPWRAPPER_SOURCE = $(SRCDIR)/$(TCPWRAPPER).tar.gz
+TCPWRAPPER_DIR = $(BUILDDIR)/$(TCPWRAPPER)
+TCPWRAPPER_EXTRACT = gzip -dc
+
+TCPWRAPPER_PTXPATCH = tcp_wrappers_7.6-ptx1
+TCPWRAPPER_PTXPATCH_URL = http://www.pengutronix.de/software/ptxdist/temporary-src/$(TCPWRAPPER_PTXPATCH).diff
+TCPWRAPPER_PTXPATCH_SOURCE = $(SRCDIR)/$(TCPWRAPPER_PTXPATCH).diff
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+tcpwrapper_get: $(STATEDIR)/tcpwrapper.get
+
+$(STATEDIR)/tcpwrapper.get: $(TCPWRAPPER_SOURCE) $(TCPWRAPPER_PTXPATCH_SOURCE)
+ touch $@
+
+$(TCPWRAPPER_SOURCE):
+ @echo
+ @echo ----------------------
+ @echo target: tcpwrapper.get
+ @echo ----------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(TCPWRAPPER_URL)
+
+$(TCPWRAPPER_PTXPATCH_SOURCE):
+ @echo
+ @echo -------------------------------
+ @echo target: tcpwrapper-ptxpatch.get
+ @echo -------------------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(TCPWRAPPER_PTXPATCH_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+tcpwrapper_extract: $(STATEDIR)/tcpwrapper.extract
+
+$(STATEDIR)/tcpwrapper.extract: $(STATEDIR)/tcpwrapper.get
+ @echo
+ @echo --------------------------
+ @echo target: tcpwrapper.extract
+ @echo --------------------------
+ @echo
+ $(TCPWRAPPER_EXTRACT) $(TCPWRAPPER_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ cd $(TCPWRAPPER_DIR) && patch -p1 < $(TCPWRAPPER_PTXPATCH_SOURCE)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+tcpwrapper_prepare: $(STATEDIR)/tcpwrapper.prepare
+
+$(STATEDIR)/tcpwrapper.prepare: $(STATEDIR)/tcpwrapper.extract
+ @echo
+ @echo --------------------------
+ @echo target: tcpwrapper.prepare
+ @echo --------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+tcpwrapper_compile: $(STATEDIR)/tcpwrapper.compile
+
+TCPWRAPPER_ENVIRONMENT = CC=$(PTXCONF_GNU_TARGET)-gcc
+
+$(STATEDIR)/tcpwrapper.compile: $(STATEDIR)/tcpwrapper.prepare
+ @echo
+ @echo --------------------------
+ @echo target: tcpwrapper.compile
+ @echo --------------------------
+ @echo
+ $(TCPWRAPPER_ENVIRONMENT) make -C $(TCPWRAPPER_DIR) linux $(TCPWRAPPER_MAKEVARS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+tcpwrapper_install: $(STATEDIR)/tcpwrapper.install
+
+$(STATEDIR)/tcpwrapper.install: $(STATEDIR)/tcpwrapper.compile
+ @echo
+ @echo --------------------------
+ @echo target: tcpwrapper.install
+ @echo --------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+tcpwrapper_targetinstall: $(STATEDIR)/tcpwrapper.targetinstall
+
+$(STATEDIR)/tcpwrapper.targetinstall: $(STATEDIR)/tcpwrapper.install
+ @echo
+ @echo --------------------------------
+ @echo target: tcpwrapper.targetinstall
+ @echo --------------------------------
+ @echo
+ ifeq (y, $(PTXCONF_TCPWRAPPER_INSTALL_TCPD))
+ mkdir -p $(ROOTDIR)/usr/sbin
+ install $(TCPWRAPPER_DIR)/tcpd $(ROOTDIR)/usr/sbin
+ $(CROSSSTRIP) -S $(ROOTDIR)/usr/sbin/tcpd
+ endif
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+tcpwrapper_clean:
+ rm -rf $(STATEDIR)/tcpwrapper.* $(TCPWRAPPER_DIR)
+
+# vim: syntax=make
diff --git a/rules/template b/rules/template
new file mode 100644
index 000000000..ae6b70183
--- /dev/null
+++ b/rules/template
@@ -0,0 +1,126 @@
+# $Id: template,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES += foo
+
+#
+# Paths and names
+#
+FOO = foo-a.b.c
+FOO_URL = ftp://foo.bar.baz/$(FOO).tar.gz
+FOO_SOURCE = $(SRCDIR)/$(FOO).tar.gz
+FOO_DIR = $(BUILDDIR)/$(FOO)
+FOO_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+foo_get: $(STATEDIR)/foo.get
+
+$(STATEDIR)/foo.get: $(FOO_SOURCE)
+ touch $@
+
+$(FOO_SOURCE):
+ @echo
+ @echo -------------------
+ @echo target: foo.get
+ @echo -------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(FOO_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+foo_extract: $(STATEDIR)/foo.extract
+
+$(STATEDIR)/foo.extract: $(STATEDIR)/foo.get
+ @echo
+ @echo -----------------------
+ @echo target: foo.extract
+ @echo -----------------------
+ @echo
+ $(FOO_EXTRACT) $(FOO_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+foo_prepare: $(STATEDIR)/foo.prepare
+
+$(STATEDIR)/foo.prepare: $(STATEDIR)/foo.extract
+ @echo
+ @echo -----------------------
+ @echo target: foo.prepare
+ @echo -----------------------
+ @echo
+ cd $(FOO_DIR) && \
+ CFLAGS=$(CFLAGS) ./configure \
+ --some-options
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+foo_compile: $(STATEDIR)/foo.compile
+
+$(STATEDIR)/foo.compile: $(STATEDIR)/foo.prepare
+ @echo
+ @echo -----------------------
+ @echo target: foo.compile
+ @echo -----------------------
+ @echo
+ make -C $(FOO_DIR) $(MAKEPARMS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+foo_install: $(STATEDIR)/foo.install
+
+$(STATEDIR)/foo.install: $(STATEDIR)/foo.compile
+ @echo
+ @echo -----------------------
+ @echo target: foo.install
+ @echo -----------------------
+ @echo
+
+ make -C $(FOO_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+foo_targetinstall: $(STATEDIR)/foo.targetinstall
+
+$(STATEDIR)/foo.targetinstall: $(STATEDIR)/foo.install
+ @echo
+ @echo -----------------------
+ @echo target: foo.targetinstall
+ @echo -----------------------
+ @echo
+ # don't forget to $(CROSSSTRIP) -S your source!
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+foo_clean:
+ rm -rf $(STATEDIR)/foo.* $(FOO_DIR)
+
+# vim: syntax=make
diff --git a/rules/u-boot-mkimage.make b/rules/u-boot-mkimage.make
new file mode 100644
index 000000000..eff98f1fc
--- /dev/null
+++ b/rules/u-boot-mkimage.make
@@ -0,0 +1,121 @@
+# $Id: u-boot-mkimage.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2003 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+PACKAGES += umkimage
+
+#
+# Paths and names
+#
+UMKIMAGE = u-boot-mkimage-20030314
+UMKIMAGE_URL = http://www.pengutronix.de/software/ptxdist/temporary-src/$(UMKIMAGE).tar.gz
+UMKIMAGE_SOURCE = $(SRCDIR)/$(UMKIMAGE).tar.gz
+UMKIMAGE_DIR = $(BUILDDIR)/$(UMKIMAGE)
+UMKIMAGE_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+umkimage_get: $(STATEDIR)/umkimage.get
+
+$(STATEDIR)/umkimage.get: $(UMKIMAGE_SOURCE)
+ touch $@
+
+$(UMKIMAGE_SOURCE):
+ @echo
+ @echo --------------------
+ @echo target: umkimage.get
+ @echo --------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(UMKIMAGE_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+umkimage_extract: $(STATEDIR)/umkimage.extract
+
+$(STATEDIR)/umkimage.extract: $(STATEDIR)/umkimage.get
+ @echo
+ @echo ------------------------
+ @echo target: umkimage.extract
+ @echo ------------------------
+ @echo
+ $(UMKIMAGE_EXTRACT) $(UMKIMAGE_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+umkimage_prepare: $(STATEDIR)/umkimage.prepare
+
+$(STATEDIR)/umkimage.prepare: $(STATEDIR)/umkimage.extract
+ @echo
+ @echo ------------------------
+ @echo target: umkimage.prepare
+ @echo ------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+umkimage_compile: $(STATEDIR)/umkimage.compile
+
+$(STATEDIR)/umkimage.compile: $(STATEDIR)/umkimage.prepare
+ @echo
+ @echo ------------------------
+ @echo target: umkimage.compile
+ @echo ------------------------
+ @echo
+ make -C $(UMKIMAGE_DIR)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+umkimage_install: $(STATEDIR)/umkimage.install
+
+$(STATEDIR)/umkimage.install: $(STATEDIR)/umkimage.compile
+ @echo
+ @echo ------------------------
+ @echo target: umkimage.install
+ @echo ------------------------
+ @echo
+ install $(UMKIMAGE_DIR)/mkimage $(PTXCONF_PREFIX)/bin/u-boot-mkimage
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+umkimage_targetinstall: $(STATEDIR)/umkimage.targetinstall
+
+$(STATEDIR)/umkimage.targetinstall: $(STATEDIR)/umkimage.install
+ @echo
+ @echo -----------------------
+ @echo target: umkimage.targetinstall
+ @echo -----------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+umkimage_clean:
+ rm -rf $(STATEDIR)/umkimage.* $(UMKIMAGE_DIR)
+
+# vim: syntax=make
diff --git a/rules/utelnetd.make b/rules/utelnetd.make
new file mode 100644
index 000000000..f6cbe83b4
--- /dev/null
+++ b/rules/utelnetd.make
@@ -0,0 +1,134 @@
+# $Id: utelnetd.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_UTELNETD))
+PACKAGES += utelnetd
+endif
+
+#
+# Paths and names
+#
+UTELNETD = utelnetd-0.1.6
+UTELNETD_URL = http://www.pengutronix.de/software/utelnetd/$(UTELNETD).tar.gz
+UTELNETD_SOURCE = $(SRCDIR)/$(UTELNETD).tar.gz
+UTELNETD_DIR = $(BUILDDIR)/$(UTELNETD)
+UTELNETD_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+utelnetd_get: $(STATEDIR)/utelnetd.get
+
+$(STATEDIR)/utelnetd.get: $(UTELNETD_SOURCE)
+ touch $@
+
+$(UTELNETD_SOURCE):
+ @echo
+ @echo ------------
+ @echo target: utelnetd.get
+ @echo ------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(UTELNETD_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+utelnetd_extract: $(STATEDIR)/utelnetd.extract
+
+$(STATEDIR)/utelnetd.extract: $(STATEDIR)/utelnetd.get
+ @echo
+ @echo ----------------
+ @echo target: utelnetd.extract
+ @echo ----------------
+ @echo
+ $(UTELNETD_EXTRACT) $(UTELNETD_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+utelnetd_prepare: $(STATEDIR)/utelnetd.prepare
+
+$(STATEDIR)/utelnetd.prepare: $(STATEDIR)/utelnetd.extract
+ @echo
+ @echo ----------------
+ @echo target: utelnetd.prepare
+ @echo ----------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+utelnetd_compile: $(STATEDIR)/utelnetd.compile
+
+UTELNETD_ENVIRONMENT =
+UTELNETD_MAKEVARS =
+ifeq (y,$(PTXCONF_ARCH_ARM))
+UTELNETD_ENVIRONMENT += PATH=$(PTXCONF_PREFIX)/bin:$$PATH
+UTELNETD_MAKEVARS += CROSS=arm-linux-
+endif
+
+$(STATEDIR)/utelnetd.compile: $(STATEDIR)/utelnetd.prepare
+ @echo
+ @echo ----------------
+ @echo target: utelnetd.compile
+ @echo ----------------
+ @echo
+ $(UTELNETD_ENVIRONMENT) make -C $(UTELNETD_DIR) $(UTELNETD_MAKEVARS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+utelnetd_install: $(STATEDIR)/utelnetd.install
+
+$(STATEDIR)/utelnetd.install: $(STATEDIR)/utelnetd.compile
+ @echo
+ @echo ----------------
+ @echo target: utelnetd.install
+ @echo ----------------
+ @echo
+ install -d $(PTXCONF_PREFIX)/sbin/
+ install $(UTELNETD_DIR)/utelnetd $(PTXCONF_PREFIX)/sbin/
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+utelnetd_targetinstall: $(STATEDIR)/utelnetd.targetinstall
+
+$(STATEDIR)/utelnetd.targetinstall: $(STATEDIR)/utelnetd.install
+ @echo
+ @echo ----------------------
+ @echo target: utelnetd.targetinstall
+ @echo ----------------------
+ @echo
+ install -d $(ROOTDIR)/sbin/
+ install $(UTELNETD_DIR)/utelnetd $(ROOTDIR)/sbin/
+ $(CROSSSTRIP) -S $(ROOTDIR)/sbin/utelnetd
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+utelnetd_clean:
+ rm -rf $(STATEDIR)/utelnetd.* $(UTELNETD_DIR)
+
+# vim: syntax=make
diff --git a/rules/xchain-binutils.make b/rules/xchain-binutils.make
new file mode 100644
index 000000000..39d606770
--- /dev/null
+++ b/rules/xchain-binutils.make
@@ -0,0 +1,133 @@
+# $Id: xchain-binutils.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_BUILD_CROSSCHAIN))
+PACKAGES += xchain-binutils
+endif
+
+#
+# Paths and names
+#
+BINUTILS = binutils-2.11.2
+BINUTILS_URL = ftp://ftp.gnu.org/pub/gnu/binutils/$(BINUTILS).tar.gz
+BINUTILS_SOURCE = $(SRCDIR)/$(BINUTILS).tar.gz
+BINUTILS_DIR = $(BUILDDIR)/$(BINUTILS)
+BINUTILS_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+xchain-binutils_get: $(STATEDIR)/xchain-binutils.get
+
+$(STATEDIR)/xchain-binutils.get: $(BINUTILS_SOURCE)
+ touch $@
+
+$(BINUTILS_SOURCE):
+ @echo
+ @echo -------------------
+ @echo target: xchain-binutils.get
+ @echo -------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(BINUTILS_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+xchain-binutils_extract: $(STATEDIR)/xchain-binutils.extract
+
+$(STATEDIR)/xchain-binutils.extract: $(STATEDIR)/xchain-binutils.get
+ @echo
+ @echo -----------------------
+ @echo target: xchain-binutils.extract
+ @echo -----------------------
+ @echo
+ $(BINUTILS_EXTRACT) $(BINUTILS_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+xchain-binutils_prepare: $(STATEDIR)/xchain-binutils.prepare
+
+$(STATEDIR)/xchain-binutils.prepare: $(STATEDIR)/xchain-binutils.extract
+ @echo
+ @echo -----------------------
+ @echo target: xchain-binutils.prepare
+ @echo -----------------------
+ @echo
+ cd $(BINUTILS_DIR) && \
+ ./configure \
+ --disable-shared \
+ --target=$(PTXCONF_GNU_TARGET) \
+ --prefix=$(PTXCONF_PREFIX) \
+ --enable-targets=$(PTXCONF_GNU_TARGET)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+xchain-binutils_compile: $(STATEDIR)/xchain-binutils.compile
+
+$(STATEDIR)/xchain-binutils.compile: $(STATEDIR)/xchain-binutils.prepare
+ @echo
+ @echo -----------------------
+ @echo target: xchain-binutils.compile
+ @echo -----------------------
+ @echo
+ cd $(BINUTILS_DIR) && make
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+xchain-binutils_install: $(STATEDIR)/xchain-binutils.install
+
+$(STATEDIR)/xchain-binutils.install: $(STATEDIR)/xchain-binutils.compile
+ @echo
+ @echo -----------------------
+ @echo target: xchain-binutils.install
+ @echo -----------------------
+ @echo
+ [ -d $(PTXCONF_PREFIX) ] || \
+ $(SUDO) install -g users -m 0755 \
+ -o $(PTXUSER) \
+ -d $(PTXCONF_PREFIX)
+ cd $(BINUTILS_DIR) && make install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+xchain-binutils_targetinstall: $(STATEDIR)/xchain-binutils.targetinstall
+
+$(STATEDIR)/xchain-binutils.targetinstall: $(STATEDIR)/xchain-binutils.install
+ @echo
+ @echo -----------------------------
+ @echo target: xchain-binutils.targetinstall
+ @echo -----------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+xchain-binutils_clean:
+ rm -rf $(STATEDIR)/xchain-binutils.* $(BINUTILS_DIR)
+
+# vim: syntax=make
diff --git a/rules/xchain-gccstage1.make b/rules/xchain-gccstage1.make
new file mode 100644
index 000000000..310178c81
--- /dev/null
+++ b/rules/xchain-gccstage1.make
@@ -0,0 +1,238 @@
+# $Id: xchain-gccstage1.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002,2003 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_BUILD_CROSSCHAIN))
+PACKAGES += xchain-gccstage1
+endif
+
+#
+# Paths and names
+#
+ifeq (y, $(PTXCONF_ARCH_ARM))
+GCC_PREFIX = arm-linux-
+else
+GCC_PREFIX =
+endif
+
+GCC = gcc-2.95.3
+GCC_URL = ftp://ftp.gnu.org/pub/gnu/gcc/$(GCC).tar.gz
+GCC_SOURCE = $(SRCDIR)/$(GCC).tar.gz
+GCC_DIR = $(BUILDDIR)/$(GCC)
+GCC_STAGE1_DIR = $(BUILDDIR)/$(GCC)-$(GCC_PREFIX)stage1
+GCC_STAGE2_DIR = $(BUILDDIR)/$(GCC)-$(GCC_PREFIX)stage2
+GCC_EXTRACT = gzip -dc
+
+GCC_ARMPATCH = gcc-2.95.3.diff
+GCC_ARMPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/toolchain/src-2.95.3/gcc-2.95.3.diff.bz2
+GCC_ARMPATCH_SOURCE = $(SRCDIR)/$(GCC_ARMPATCH).bz2
+GCC_ARMPATCH_DIR = $(GCC_DIR)
+GCC_ARMPATCH_EXTRACT = bzip2 -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+xchain-gccstage1_get: $(STATEDIR)/xchain-gccstage1.get
+
+xchain-gccstage1_get_deps = $(GCC_SOURCE)
+ifeq (y,$(PTXCONF_ARCH_ARM))
+xchain-gccstage1_get_deps += $(GCC_ARMPATCH_SOURCE)
+endif
+
+$(STATEDIR)/xchain-gccstage1.get: $(xchain-gccstage1_get_deps)
+ touch $@
+
+$(GCC_SOURCE):
+ @echo
+ @echo -----------------------------------------
+ @echo "target: xchain-gccstage1.get (gcc source)"
+ @echo -----------------------------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(GCC_URL)
+
+$(GCC_ARMPATCH_SOURCE):
+ @echo
+ @echo ----------------------------------------
+ @echo "target: xchain-gccstage1.get (ARM patch)"
+ @echo ----------------------------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(GCC_ARMPATCH_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+xchain-gccstage1_extract: $(STATEDIR)/xchain-gccstage1.extract
+
+$(STATEDIR)/xchain-gccstage1.extract: $(STATEDIR)/xchain-gccstage1.get
+ @echo
+ @echo --------------------------------
+ @echo target: xchain-gccstage1.extract
+ @echo --------------------------------
+ @echo
+ $(GCC_EXTRACT) $(GCC_SOURCE) | tar -C $(BUILDDIR) -xf -
+ #
+ ifeq (y, $(PTXCONF_ARCH_ARM))
+ #
+ # ARM: add architecure patch; fake headers
+ #
+ cd $(GCC_DIR) && \
+ $(GCC_ARMPATCH_EXTRACT) $(GCC_ARMPATCH_SOURCE) | patch -p1
+ perl -i -p -e \
+ 's/^(TARGET_LIBGCC2_CFLAGS.*)/$$1 -Dinhibit_libc -D__gthr_posix_h/' \
+ $(GCC_DIR)/gcc/config/arm/t-linux
+ endif
+ #
+ ifeq (y, $(PTXCONF_ARCH_X86))
+ #
+ # x86: fake headers
+ #
+ perl -i -p -e \
+ 's/^(TARGET_LIBGCC2_CFLAGS.*)/$$1 -Dinhibit_libc -D__gthr_posix_h/' \
+ $(GCC_DIR)/gcc/config/t-linux
+ endif
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+xchain-gccstage1_prepare: $(STATEDIR)/xchain-gccstage1.prepare
+
+xchain-gccstage1_prepare_deps = $(STATEDIR)/xchain-binutils.install
+xchain-gccstage1_prepare_deps += $(STATEDIR)/xchain-gccstage1.extract
+xchain-gccstage1_prepare_deps += $(STATEDIR)/xchain-kernel.prepare
+
+$(STATEDIR)/xchain-gccstage1.prepare: $(xchain-gccstage1_prepare_deps)
+ @echo
+ @echo --------------------------------
+ @echo target: xchain-gccstage1.prepare
+ @echo --------------------------------
+ @echo
+ mkdir -p $(GCC_STAGE1_DIR)
+ #
+ # copy some header files
+ #
+ mkdir -p $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include
+ #
+ # temporary asm-$(PTXCONF_ARCH) directory
+ #
+ rm -fr \
+ $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/asm-$(PTXCONF_ARCH)
+ # FIXME: replace by install?
+ cp -a $(BUILDDIR)/xchain-kernel/include/asm-$(PTXCONF_ARCH) \
+ $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/asm-$(PTXCONF_ARCH)
+ #
+ rm -f $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/asm
+ ln -sf asm-$(PTXCONF_ARCH) $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/asm
+ #
+ # link correct proc/ and arch/ directories for architecture
+ #
+ ifeq (y, $(PTXCONF_ARCH_ARM))
+ #
+ rm -f $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/asm/proc
+ ln -sf proc-armv $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/asm/proc
+ #
+ ifeq (y, $(PTXCONF_ARM_ARCH_PXA))
+ rm -f $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/asm/arch
+ ln -sf arch-pxa $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/asm/arch
+ endif
+ endif
+ #
+ # temporary linux directory
+ #
+ # FIXME: replace by install?
+ cp -a $(BUILDDIR)/xchain-kernel/include/linux $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/linux
+ #
+ # temporary autoconf.h and version.h (FIXME - correct versions...)
+ #
+ touch $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/linux/autoconf.h
+ echo "#define UTS_RELEASE \"2.4.18\"" > \
+ $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/linux/version.h;
+ echo "#define LINUX_VERSION_CODE 132114" >> \
+ $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/linux/version.h;
+ echo "#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))" >> \
+ $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/linux/version.h;
+ #
+ # configure
+ #
+ cd $(GCC_STAGE1_DIR) && \
+ PATH=$(PTXCONF_PREFIX)/bin:$$PATH \
+ AR=$(PTXCONF_GNU_TARGET)-ar \
+ RANLIB=$(PTXCONF_GNU_TARGET)-ranlib \
+ CC=$(HOSTCC) \
+ $(GCC_DIR)/configure \
+ --target=$(PTXCONF_GNU_TARGET) \
+ --prefix=$(PTXCONF_PREFIX) \
+ --enable-target-optspace \
+ --disable-nls \
+ --with-gnu-ld \
+ --disable-shared \
+ --enable-languages=c
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+xchain-gccstage1_compile: $(STATEDIR)/xchain-gccstage1.compile
+
+$(STATEDIR)/xchain-gccstage1.compile: \
+ $(STATEDIR)/xchain-gccstage1.prepare
+ @echo
+ @echo --------------------------------
+ @echo target: xchain-gccstage1.compile
+ @echo --------------------------------
+ @echo
+ cd $(GCC_STAGE1_DIR) && \
+ PATH=$(PATH):$(PTXCONF_PREFIX)/bin make
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+xchain-gccstage1_install: $(STATEDIR)/xchain-gccstage1.install
+
+$(STATEDIR)/xchain-gccstage1.install: $(STATEDIR)/xchain-gccstage1.compile
+ @echo
+ @echo --------------------------------
+ @echo target: xchain-gccstage1.install
+ @echo --------------------------------
+ @echo
+ cd $(GCC_STAGE1_DIR) && \
+ PATH=$(PATH):$(PTXCONF_PREFIX)/bin make install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+xchain-gccstage1_targetinstall: $(STATEDIR)/xchain-gccstage1.targetinstall
+
+$(STATEDIR)/xchain-gccstage1.targetinstall: $(STATEDIR)/xchain-gccstage1.install
+ @echo
+ @echo --------------------------------------
+ @echo target: xchain-gccstage1.targetinstall
+ @echo --------------------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+xchain-gccstage1_clean:
+ rm -fr $(GCC_STAGE1_DIR) $(STATEDIR)/xchain-gccstage1.* $(GCC_DIR)
+
+
+# vim: syntax=make
diff --git a/rules/xchain-gccstage2.make b/rules/xchain-gccstage2.make
new file mode 100644
index 000000000..92a9f58ae
--- /dev/null
+++ b/rules/xchain-gccstage2.make
@@ -0,0 +1,176 @@
+# $Id: xchain-gccstage2.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_BUILD_CROSSCHAIN))
+PACKAGES += xchain-gccstage2
+endif
+
+#
+# Paths and names
+#
+# See gccstage1 for variable definitions
+
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+# FIXME: ??? xchain-gccstage2_get: $(STATEDIR)/glibc.install
+xchain-gccstage2_get: $(STATEDIR)/xchain-gccstage2.get
+
+$(STATEDIR)/xchain-gccstage2.get: $(STATEDIR)/xchain-gccstage1.get
+ @echo
+ @echo ----------------------------
+ @echo target: xchain-gccstage2.get
+ @echo ----------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+xchain-gccstage2_extract: $(STATEDIR)/xchain-gccstage2.extract
+
+$(STATEDIR)/xchain-gccstage2.extract: \
+ $(STATEDIR)/xchain-gccstage2.get \
+ $(STATEDIR)/glibc.install
+ @echo
+ @echo --------------------------------
+ @echo target: xchain-gccstage2.extract
+ @echo --------------------------------
+ @echo
+ # remove glibc header hack
+ ifeq (y, $(PTXCONF_ARCH_ARM))
+ perl -p -i -e \
+ 's/^(TARGET_LIBGCC2_CFLAGS = -fomit-frame-pointer -fPIC).*/$$1/' \
+ $(GCC_DIR)/gcc/config/arm/t-linux
+ endif
+ ifeq (y, $(PTXCONF_ARCH_X86))
+ perl -p -i -e \
+ 's/^(TARGET_LIBGCC2_CFLAGS = -fPIC).*/$$1/' \
+ $(GCC_DIR)/gcc/config/t-linux
+ endif
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+xchain-gccstage2_prepare: $(STATEDIR)/xchain-gccstage2.prepare
+
+xchain-gccstage2_prepare_deps = $(STATEDIR)/xchain-gccstage2.extract
+xchain-gccstage2_prepare_deps += $(STATEDIR)/xchain-kernel.prepare
+
+$(STATEDIR)/xchain-gccstage2.prepare: $(xchain-gccstage2_prepare_deps)
+ @echo
+ @echo --------------------------------
+ @echo target: xchain-gccstage2.prepare
+ @echo --------------------------------
+ @echo
+ [ -d $(GCC_STAGE2_DIR) ] || mkdir $(GCC_STAGE2_DIR)
+ #
+ # copy some header files
+ #
+ mkdir -p $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include
+ #
+ # permanent asm-arm directory (temporarily created in stage 1)
+ # FIXME: this is currently processor dependend
+ #
+ rm -fr $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/asm-$(PTXCONF_ARCH)
+ # FIXME: replace by install?
+ cp -a $(BUILDDIR)/xchain-kernel/include/asm-$(PTXCONF_ARCH) \
+ $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/asm-$(PTXCONF_ARCH)
+ rm -f $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/asm
+ ln -s asm-$(PTXCONF_ARCH) $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/asm
+ #
+ # permanent linux directory (temporarily created in stage 1)
+ #
+ rm -fr $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/linux
+ cp -a $(BUILDDIR)/xchain-kernel/include/linux $(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)/sys-include/linux
+# #
+# # configure
+# #
+ cd $(GCC_STAGE2_DIR) && \
+ PATH=$(PTXCONF_PREFIX)/bin:$$PATH \
+ AR=$(PTXCONF_GNU_TARGET)-ar \
+ RANLIB=$(PTXCONF_GNU_TARGET)-ranlib \
+ CC=$(HOSTCC) \
+ $(GCC_DIR)/configure \
+ --target=$(PTXCONF_GNU_TARGET) \
+ --prefix=$(PTXCONF_PREFIX) \
+ --enable-target-optspace \
+ --disable-nls \
+ --with-gnu-ld \
+ --disable-shared \
+ --enable-languages="c,c++" \
+ --with-headers=$(PTXCONF_PREFIX)/include
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+xchain-gccstage2_compile: $(STATEDIR)/xchain-gccstage2.compile
+
+$(STATEDIR)/xchain-gccstage2.compile: \
+ $(STATEDIR)/xchain-gccstage2.prepare
+ @echo
+ @echo --------------------------------
+ @echo target: xchain-gccstage2.compile
+ @echo --------------------------------
+ @echo
+ # FIXME: why do we have to define _GNU_SOURCE here? Otherwhise
+ # the c++ compiler cannot be compiled.
+ cd $(GCC_STAGE2_DIR) && \
+ PATH=$(PATH):$(PTXCONF_PREFIX)/bin make CXXFLAGS_FOR_TARGET="-g -Os -D_GNU_SOURCE"
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+xchain-gccstage2_install: $(STATEDIR)/xchain-gccstage2.install
+
+$(STATEDIR)/xchain-gccstage2.install: $(STATEDIR)/xchain-gccstage2.compile
+ @echo
+ @echo --------------------------------
+ @echo target: xchain-gccstage2.install
+ @echo --------------------------------
+ @echo
+ cd $(GCC_STAGE2_DIR) && \
+ PATH=$(PATH):$(PTXCONF_PREFIX)/bin make install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+xchain-gccstage2_targetinstall: $(STATEDIR)/xchain-gccstage2.targetinstall
+
+$(STATEDIR)/xchain-gccstage2.targetinstall: $(STATEDIR)/xchain-gccstage2.install
+ @echo
+ @echo --------------------------------------
+ @echo target: xchain-gccstage2.targetinstall
+ @echo --------------------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+xchain-gccstage2_clean:
+ rm -fr $(GCC_STAGE2_DIR) $(STATEDIR)/xchain-gccstage2.*
+
+
+# vim: syntax=make
diff --git a/rules/xchain-glibc.make b/rules/xchain-glibc.make
new file mode 100644
index 000000000..805b73ba0
--- /dev/null
+++ b/rules/xchain-glibc.make
@@ -0,0 +1,381 @@
+# $Id: xchain-glibc.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y, $(PTXCONF_GLIBC_2_2_5))
+PACKAGES += glibc
+endif
+ifeq (y, $(PTXCONF_GLIBC_2_2_4))
+PACKAGES += glibc
+endif
+ifeq (y, $(PTXCONF_GLIBC_2_2_3))
+PACKAGES += glibc
+endif
+
+
+#
+# Paths and names
+#
+ifeq (y, $(PTXCONF_GLIBC_2_2_5))
+GLIBC_VERSION = 2.2.5
+endif
+ifeq (y, $(PTXCONF_GLIBC_2_2_4))
+GLIBC_VERSION = 2.2.4
+endif
+ifeq (y, $(PTXCONF_GLIBC_2_2_3))
+GLIBC_VERSION = 2.2.3
+endif
+
+GLIBC = glibc-$(GLIBC_VERSION)
+GLIBC_URL = ftp://ftp.gnu.org/gnu/glibc/$(GLIBC).tar.gz
+GLIBC_SOURCE = $(SRCDIR)/$(GLIBC).tar.gz
+GLIBC_DIR = $(BUILDDIR)/$(GLIBC)
+GLIBC_EXTRACT = gzip -dc
+
+GLIBC_THREADS = glibc-linuxthreads-$(GLIBC_VERSION)
+GLIBC_THREADS_URL = ftp://ftp.gnu.org/gnu/glibc/$(GLIBC_THREADS).tar.gz
+GLIBC_THREADS_SOURCE = $(SRCDIR)/$(GLIBC_THREADS).tar.gz
+GLIBC_THREADS_DIR = $(GLIBC_DIR)
+GLIBC_THREADS_EXTRACT = gzip -dc
+
+GLIBC_PTXPATCH = glibc-$(GLIBC_VERSION)-ptx1.diff
+GLIBC_PTXPATCH_URL = http://www.pengutronix.de/software/ptxdist/temporary-src/$(GLIBC_PTXPATCH)
+GLIBC_PTXPATCH_SOURCE = $(SRCDIR)/$(GLIBC_PTXPATCH)
+GLIBC_PTXPATCH_DIR = $(GLIBC_DIR)
+GLIBC_PTXPATCH_EXTRACT = cat
+
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+glibc_get: $(STATEDIR)/glibc.get
+
+glibc_get_deps = $(STATEDIR)/glibc-base.get
+glibc_get_deps += $(STATEDIR)/glibc-ptxpatch.get
+ifdef PTXCONF_GLIBC_PTHREADS
+glibc_get_deps += $(STATEDIR)/glibc-threads.get
+endif
+
+$(STATEDIR)/glibc.get: $(glibc_get_deps)
+ touch $@
+
+$(STATEDIR)/glibc-base.get: $(GLIBC_SOURCE)
+ touch $@
+
+$(STATEDIR)/glibc-threads.get: $(GLIBC_THREADS_SOURCE)
+ touch $@
+
+$(STATEDIR)/glibc-ptxpatch.get: $(GLIBC_PTXPATCH_SOURCE)
+ touch $@
+
+$(GLIBC_SOURCE):
+ @echo
+ @echo ----------------------
+ @echo target: glibc-base.get
+ @echo ----------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(GLIBC_URL)
+
+$(GLIBC_THREADS_SOURCE):
+ @echo
+ @echo -------------------------
+ @echo target: glibc-threads.get
+ @echo -------------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(GLIBC_THREADS_URL)
+
+$(GLIBC_PTXPATCH_SOURCE):
+ @echo
+ @echo --------------------------
+ @echo target: glibc-ptxpatch.get
+ @echo --------------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(GLIBC_PTXPATCH_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+glibc_extract: $(STATEDIR)/glibc.extract
+glibc-base_extract: $(STATEDIR)/glibc-base.extract
+glibc-threads_extract: $(STATEDIR)/glibc-threads.extract
+
+glibc_extract_deps = $(STATEDIR)/glibc-base.extract
+ifeq (y, $(PTXCONF_GLIBC_PTHREADS))
+glibc_extract_deps += $(STATEDIR)/glibc-threads.extract
+endif
+
+$(STATEDIR)/glibc.extract: $(glibc_extract_deps)
+ touch $@
+
+$(STATEDIR)/glibc-base.extract: $(STATEDIR)/glibc-base.get
+ @echo
+ @echo --------------------------
+ @echo target: glibc-base.extract
+ @echo --------------------------
+ @echo
+ $(GLIBC_EXTRACT) $(GLIBC_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ # fix some bugs...
+ cd $(GLIBC_DIR) && patch -p1 < $(GLIBC_PTXPATCH_SOURCE)
+ # fix: sunrpc's makefile has the wrong magic to find cpp...
+ # FIXME: is this the right fix for other versions than 2.2.5?
+ cd $(GLIBC_DIR)/sunrpc && mkdir cpp && ln -s $(PTXCONF_PREFIX)/bin/cpp cpp/
+ # this is magically recreated if missing (necessary because
+ # of patch against configure.in)
+ rm -f $(GLIBC_DIR)/sysdeps/unix/sysv/linux/configure
+ touch $@
+
+$(STATEDIR)/glibc-threads.extract: $(STATEDIR)/glibc-threads.get
+ @echo
+ @echo -----------------------------
+ @echo target: glibc-threads.extract
+ @echo -----------------------------
+ @echo
+ $(GLIBC_THREADS_EXTRACT) $(GLIBC_THREADS_SOURCE) | $(TAR) -C $(GLIBC_DIR) -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+glibc_prepare: $(STATEDIR)/glibc.extract $(STATEDIR)/autoconf213.install
+
+GLIBC_AUTOCONF =
+GLIBC_ENVIRONMENT =
+
+ifdef PTXCONF_GLIBC
+
+#
+# arcitecture dependend configuration
+#
+
+GLIBC_AUTOCONF += --build=i686-linux
+GLIBC_AUTOCONF += --host=$(PTXCONF_GNU_TARGET)
+GLIBC_AUTOCONF += --disable-sanity-checks
+GLIBC_ENVIRONMENT = PATH=$(PTXCONF_PREFIX)/$(AUTOCONF213)/bin:$(PTXCONF_PREFIX)/bin:$$PATH
+GLIBC_MAKEVARS = AR=$(PTXCONF_GNU_TARGET)-ar
+GLIBC_MAKEVARS += RANLIB=$(PTXCONF_GNU_TARGET)-ranlib
+GLIBC_MAKEVARS += CC=$(PTXCONF_GNU_TARGET)-gcc
+
+#
+# features
+#
+ifdef PTXCONF_GLIBC_FLOATINGPOINT
+ GLIBC_AUTOCONF+=--with-fp=yes
+else
+ GLIBC_AUTOCONF+=--with-fp=no
+endif
+ifdef PTXCONF_GLIBC_LIBIO
+ GLIBC_AUTOCONF+=--enable-libio
+endif
+ifdef PTXCONF_GLIBC_SHARED
+ GLIBC_AUTOCONF+=--enable-shared
+else
+ GLIBC_AUTOCONF+=--enable-shared=no
+endif
+ifdef PTXCONF_GLIBC_PROFILED
+ GLIBC_AUTOCONF+=--enable-profile=yes
+else
+ GLIBC_AUTOCONF+=--enable-profile=no
+endif
+ifdef PTXCONF_GLIBC_OMITFP
+ GLIBC_AUTOCONF+=--enable-omitfp
+endif
+ifdef PTXCONF_GLIBC_PTHREADS
+ GLIBC_AUTOCONF+=--enable-add-ons=linuxthreads
+endif
+
+#
+# optimisation
+#
+ifdef PTXCONF_OPT_I386
+ GLIBC_CFLAGS+=-mcpu=i386 -O2
+endif
+ifdef PTXCONF_OPT_I486
+ GLIBC_CFLAGS+=-mcpu=i486 -O2
+endif
+ifdef PTXCONF_OPT_I686
+ GLIBC_CFLAGS+=-mcpu=i686 -O2
+endif
+ifdef PTXCONF_ARCH_ARM
+# GLIBC_CFLAGS+=-Wall -O2
+endif
+ifdef GLIBC_CFLAGS
+GLIBC_ENVIRONMENT += CFLAGS="$(GLIBC_CFLAGS)"
+endif
+
+endif
+
+#
+# dependencies
+#
+glibc_prepare_deps = $(STATEDIR)/glibc.extract
+ifeq (y,$(PTXCONF_BUILD_CROSSCHAIN))
+glibc_prepare_deps += $(STATEDIR)/xchain-gccstage1.install
+endif
+
+$(STATEDIR)/glibc.prepare: $(glibc_prepare_deps)
+ @echo
+ @echo ---------------------
+ @echo target: glibc.prepare
+ @echo ---------------------
+ @echo
+ ifeq (y,$(PTXCONF_BUILD_CROSSCHAIN))
+ mkdir -p $(BUILDDIR)/$(GLIBC)-obj
+ cd $(BUILDDIR)/$(GLIBC)-obj && \
+ $(GLIBC_ENVIRONMENT) \
+ $(GLIBC_DIR)/configure $(PTXCONF_GNU_TARGET) \
+ $(GLIBC_AUTOCONF) \
+ --prefix=$(PTXCONF_PREFIX)/$(PTXCONF_GNU_TARGET)
+ endif
+ #
+ # we need a second directory where we configure glibc for the
+ # dynamic linker
+ #
+ mkdir -p $(BUILDDIR)/$(GLIBC)-ldso
+ cd $(BUILDDIR)/$(GLIBC)-ldso && \
+ $(GLIBC_ENVIRONMENT) \
+ $(GLIBC_DIR)/configure $(PTXCONF_GNU_TARGET) \
+ $(GLIBC_AUTOCONF) \
+ --prefix=
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+glibc_compile: $(STATEDIR)/glibc.compile
+
+$(STATEDIR)/glibc.compile: $(STATEDIR)/glibc.prepare
+ @echo
+ @echo ---------------------------
+ @echo "target: glibc.compile (obj)"
+ @echo ---------------------------
+ @echo
+ ifeq (y,$(PTXCONF_BUILD_CROSSCHAIN))
+ # let makefile find autoconf-2.13 as default
+ cd $(BUILDDIR)/$(GLIBC)-obj && $(GLIBC_ENVIRONMENT) make $(MAKEVARS)
+ endif
+ @echo
+ @echo -----------------------------
+ @echo "target: glibc.compile (ld-so)"
+ @echo -----------------------------
+ @echo
+ # FIXME: is there another possibility to create an ld.so which has
+ # correct search paths compiled in for /lib?
+ cd $(BUILDDIR)/$(GLIBC)-ldso && $(GLIBC_ENVIRONMENT) make $(MAKEVARS)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+glibc_install: $(STATEDIR)/glibc.install
+
+$(STATEDIR)/glibc.install: $(STATEDIR)/glibc.compile
+ @echo
+ @echo ---------------------
+ @echo target: glibc.install
+ @echo ---------------------
+ @echo
+ ifeq (y,$(PTXCONF_BUILD_CROSSCHAIN))
+ cd $(BUILDDIR)/$(GLIBC)-obj && $(GLIBC_ENVIRONMENT) make install
+ endif
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+glibc_targetinstall: $(STATEDIR)/glibc.targetinstall
+
+$(STATEDIR)/glibc.targetinstall: $(STATEDIR)/glibc.install
+ @echo
+ @echo ---------------------------
+ @echo target: glibc.targetinstall
+ @echo ---------------------------
+ @echo
+ # CAREFUL: don't never ever make install in ldso tree!!!
+ mkdir -p $(ROOTDIR)/lib
+ install $(BUILDDIR)/$(GLIBC)-ldso/elf/ld.so $(ROOTDIR)/lib/ld-$(GLIBC_VERSION).so
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/ld-$(GLIBC_VERSION).so
+ ln -sf ld-$(GLIBC_VERSION).so $(ROOTDIR)/lib/ld-linux.so.2
+ install $(BUILDDIR)/$(GLIBC)-ldso/libc.so $(ROOTDIR)/lib/libc.so.6
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libc.so.6
+ ln -sf libc.so.6 $(ROOTDIR)/lib/libc.so
+ ifeq (y, $(PTXCONF_GLIBC_PTHREADS))
+ install $(BUILDDIR)/$(GLIBC)-ldso/linuxthreads/libpthread.so $(ROOTDIR)/lib/libpthread.so.0
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libpthread.so.0
+ endif
+ ifeq (y, $(PTXCONF_GLIBC_CRYPT))
+ install $(BUILDDIR)/$(GLIBC)-ldso/crypt/libcrypt.so.1 $(ROOTDIR)/lib
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libcrypt.so.1
+ endif
+ ifeq (y, $(PTXCONF_GLIBC_UTIL))
+ install $(BUILDDIR)/$(GLIBC)-ldso/login/libutil.so $(ROOTDIR)/lib
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libutil.so
+ ln -sf libutil.so $(ROOTDIR)/lib/libutil.so.1
+ endif
+ ifeq (y, $(PTXCONF_GLIBC_LIBM))
+ install $(BUILDDIR)/$(GLIBC)-ldso/math/libm.so $(ROOTDIR)/lib
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libm.so
+ ln -sf libm.so $(ROOTDIR)/lib/libm.so.6
+ endif
+ ifeq (y, $(PTXCONF_GLIBC_NSS_DNS))
+ install $(BUILDDIR)/$(GLIBC)-ldso/resolv/libnss_dns.so.2 $(ROOTDIR)/lib
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libnss_dns.so.2
+ $(CROSSSTRIP) $(ROOTDIR)/lib/libnss_dns.so.2
+ endif
+ ifeq (y, $(PTXCONF_GLIBC_NSS_FILES))
+ install $(BUILDDIR)/$(GLIBC)-ldso/nss/libnss_files.so.2 $(ROOTDIR)/lib
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libnss_files.so.2
+ endif
+ ifeq (y, $(PTXCONF_GLIBC_NSS_HESIOD))
+ install $(BUILDDIR)/$(GLIBC)-ldso/hesiod/libnss_hesiod.so.2 $(ROOTDIR)/lib
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libnss_hesiod.so.2
+ endif
+ ifeq (y, $(PTXCONF_GLIBC_NSS_NIS))
+ install $(BUILDDIR)/$(GLIBC)-ldso/nis/libnss_nis.so.2 $(ROOTDIR)/lib
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libnss_nis.so.2
+ endif
+ ifeq (y, $(PTXCONF_GLIBC_NSS_NISPLUS))
+ install $(BUILDDIR)/$(GLIBC)-ldso/nis/libnss_nisplus.so.2 $(ROOTDIR)/lib
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libnss_nisplus.so.2
+ endif
+ ifeq (y, $(PTXCONF_GLIBC_NSS_COMPAT))
+ install $(BUILDDIR)/$(GLIBC)-ldso/nis/libnss_compat.so.2 $(ROOTDIR)/lib
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libnss_compat.so.2
+ endif
+ ifeq (y, $(PTXCONF_GLIBC_RESOLV))
+ install $(BUILDDIR)/$(GLIBC)-ldso/resolv/libresolv.so $(ROOTDIR)/lib/libresolv.so.$(GLIBC_VERSION)
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libresolv.so.$(GLIBC_VERSION)
+ ln -sf libresolv.so.$(GLIBC_VERSION) $(ROOTDIR)/lib/libresolv.so
+ endif
+ ifeq (y, $(PTXCONF_GLIBC_NSL))
+ install $(BUILDDIR)/$(GLIBC)-ldso/nis/libnsl.so $(ROOTDIR)/lib/libnsl.so.$(GLIBC_VERSION)
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libnsl.so.$(GLIBC_VERSION)
+ ln -sf libnsl.so.$(GLIBC_VERSION) $(ROOTDIR)/lib/libnsl.so
+ ln -sf libnsl.so.$(GLIBC_VERSION) $(ROOTDIR)/lib/libnsl.so.1
+ endif
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+glibc_clean:
+ -rm -rf $(STATEDIR)/glibc*
+ -rm -rf $(GLIBC_DIR)
+ -rm -rf $(BUILDDIR)/$(GLIBC)-obj
+ -rm -rf $(BUILDDIR)/$(GLIBC)-ldso
+
+# vim: syntax=make
diff --git a/rules/xchain-kernel.make b/rules/xchain-kernel.make
new file mode 100644
index 000000000..07bc97585
--- /dev/null
+++ b/rules/xchain-kernel.make
@@ -0,0 +1,504 @@
+# $Id: xchain-kernel.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# There are two "groups" of targets here: that ones starting with xchain- are
+# only used for the cross chain. The "normal" targets are used for building the
+# runtime kernel.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_KERNEL_2_4_18))
+PACKAGES += xchain-kernel
+PACKAGES += kernel
+endif
+ifeq (y,$(PTXCONF_KERNEL_2_4_19))
+PACKAGES += xchain-kernel
+PACKAGES += kernel
+endif
+
+#
+# Paths and names
+#
+# FIXME: make extraversion configurable!
+#
+ifeq (y,$(PTXCONF_KERNEL_2_4_18))
+KERNEL = linux-2.4.18
+KERNEL_URL = ftp://ftp.kernel.org/pub/linux/kernel/v2.4/$(KERNEL).tar.bz2
+KERNEL_SOURCE = $(SRCDIR)/$(KERNEL).tar.bz2
+KERNEL_DIR = $(BUILDDIR)/$(KERNEL)
+KERNEL_EXTRACT = bzip2 -dc
+
+KERNEL_RMKPATCH = patch-2.4.18-rmk7
+KERNEL_RMKPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/$(KERNEL_RMKPATCH).bz2
+KERNEL_RMKPATCH_SOURCE = $(SRCDIR)/$(KERNEL_RMKPATCH).bz2
+KERNEL_RMKPATCH_DIR = $(BUILDDIR)/$(KERNEL)
+KERNEL_RMKPATCH_EXTRACT = bzip2 -dc
+
+KERNEL_PXAPATCH = diff-2.4.18-rmk7-pxa3
+KERNEL_PXAPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/people/nico/$(KERNEL_PXAPATCH).gz
+KERNEL_PXAPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PXAPATCH).gz
+KERNEL_PXAPATCH_DIR = $(BUILDDIR)/$(KERNEL)
+KERNEL_PXAPATCH_EXTRACT = gzip -dc
+
+KERNEL_PTXPATCH = patch-2.4.18-rmk7-ptx3
+KERNEL_PTXPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PTXPATCH)
+KERNEL_PTXPATCH_URL = http://www.pengutronix.de/software/dnp/patch-2.4.18-rmk7-ptx3
+KERNEL_PTXPATCH_DIR = $(BUILDDIR)/$(KERNEL)
+KERNEL_PTXPATCH_EXTRACT = cat
+
+ifeq (y, $(PTXCONF_RTAI_ALLSOFT))
+KERNEL_RTAIPATCH = patch-2.4.18-allsoft
+endif
+ifeq (y, $(PTXCONF_RTAI_RTHAL))
+KERNEL_RTAIPATCH = patch-2.4.18-rthal5g
+endif
+KERNEL_RTAIPATCH_DIR = $(BUILDDIR)/rtai-patches
+endif
+
+ifeq (y,$(PTXCONF_KERNEL_2_4_19))
+KERNEL = linux-2.4.19
+KERNEL_URL = ftp://ftp.rfc822.org/pub/linux/kernel/v2.4/$(KERNEL).tar.bz2
+KERNEL_SOURCE = $(SRCDIR)/$(KERNEL).tar.bz2
+KERNEL_DIR = $(BUILDDIR)/$(KERNEL)
+KERNEL_EXTRACT = bzip2 -dc
+
+KERNEL_RMKPATCH = patch-2.4.19-rmk4
+KERNEL_RMKPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/kernel/v2.4/$(KERNEL_RMKPATCH).bz2
+KERNEL_RMKPATCH_SOURCE = $(SRCDIR)/$(KERNEL_RMKPATCH).bz2
+KERNEL_RMKPATCH_DIR = $(BUILDDIR)/$(KERNEL)
+KERNEL_RMKPATCH_EXTRACT = bzip2 -dc
+
+KERNEL_PXAPATCH = diff-2.4.19-rmk4-pxa1
+KERNEL_PXAPATCH_URL = ftp://ftp.arm.linux.org.uk/pub/armlinux/people/nico/$(KERNEL_PXAPATCH).gz
+KERNEL_PXAPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PXAPATCH).gz
+KERNEL_PXAPATCH_DIR = $(BUILDDIR)/$(KERNEL)
+KERNEL_PXAPATCH_EXTRACT = gzip -dc
+
+KERNEL_PTXPATCH = linux-2.4.19-rmk4-pxa1-ptx10.diff
+KERNEL_PTXPATCH_SOURCE = $(SRCDIR)/$(KERNEL_PTXPATCH)
+KERNEL_PTXPATCH_URL = http://www.pengutronix.de/software/linux-arm/$(KERNEL_PTXPATCH)
+KERNEL_PTXPATCH_DIR = $(BUILDDIR)/$(KERNEL)
+KERNEL_PTXPATCH_EXTRACT = cat
+
+ifeq (y, $(PTXCONF_RTAI_ALLSOFT))
+KERNEL_RTAIPATCH = patch-2.4.19-allsoft
+endif
+ifeq (y, $(PTXCONF_RTAI_RTHAL))
+KERNEL_RTAIPATCH = patch-2.4.19-rthal5g
+endif
+KERNEL_RTAIPATCH_DIR = $(BUILDDIR)/rtai-patches
+endif
+
+ifeq (y, $(PTXCONF_KERNEL_IMAGE_Z))
+KERNEL_TARGET = zImage
+KERNEL_TARGET_PATH = $(KERNEL_DIR)/$(PTXCONF_ARCH)/boot/zImage
+endif
+ifeq (y, $(PTXCONF_KERNEL_IMAGE_BZ))
+KERNEL_TARGET = bzImage
+KERNEL_TARGET_PATH = $(KERNEL_DIR)/$(PTXCONF_ARCH)/boot/bzImage
+endif
+ifeq (y, $(PTXCONF_KERNEL_IMAGE_U))
+KERNEL_TARGET = uImage
+KERNEL_TARGET_PATH = $(KERNEL_DIR)/uImage
+endif
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+kernel_get: $(STATEDIR)/kernel.get
+xchain-kernel_get: $(STATEDIR)/xchain-kernel.get
+
+kernel_get_deps = $(KERNEL_SOURCE)
+ifeq (y, $(PTXCONF_ARCH_ARM))
+kernel_get_deps += $(KERNEL_RMKPATCH_SOURCE)
+kernel_get_deps += $(KERNEL_PTXPATCH_SOURCE)
+ifeq (y, $(PTXCONF_KERNEL_XSCALE))
+kernel_get_deps += $(KERNEL_PXAPATCH_SOURCE)
+ifeq (y, $(PTXCONF_KERNEL_XSCALE_PTX))
+kernel_get_deps += $(KERNEL_PTXPATCH_SOURCE)
+endif # PTXCONF_KERNEL_XSCALE_PTX
+endif # PTXCONF_KERNEL_XSCALE
+endif # PTXCONF_ARCH_ARM
+
+$(STATEDIR)/kernel.get: $(kernel_get_deps)
+ touch $@
+
+$(STATEDIR)/xchain-kernel.get: $(kernel_get_deps)
+
+$(KERNEL_SOURCE):
+ @echo
+ @echo ------------------
+ @echo target: kernel.get
+ @echo ------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(KERNEL_URL)
+
+$(KERNEL_RMKPATCH_SOURCE):
+ @echo
+ @echo ---------------------------
+ @echo target: kernel-armpatch.get
+ @echo ---------------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(KERNEL_RMKPATCH_URL)
+
+$(KERNEL_PXAPATCH_SOURCE):
+ @echo
+ @echo ---------------------------
+ @echo target: kernel-pxapatch.get
+ @echo ---------------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(KERNEL_PXAPATCH_URL)
+
+$(KERNEL_PTXPATCH_SOURCE):
+ @echo
+ @echo ---------------------------
+ @echo target: kernel-ptxpatch.get
+ @echo ---------------------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(KERNEL_PTXPATCH_URL)
+
+#
+# RTAI patches are included in the normal RTAI packet
+#
+rtai-patches_get: $(STATEDIR)/rtai-patches.get
+
+$(STATEDIR)/rtai-patches.get: $(RTAI_SOURCE)
+ touch $@
+
+#
+# xchain
+#
+$(STATEDIR)/xchain-kernel.get: $(kernel_get_deps)
+ @echo
+ @echo -------------------------
+ @echo target: xchain-kernel.get
+ @echo -------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+kernel_extract: $(STATEDIR)/kernel.extract
+
+kernel_extract_deps = $(STATEDIR)/kernel.get
+ifeq (y, $(PTXCONF_RTAI))
+kernel_extract_deps += $(STATEDIR)/rtai-patches.extract
+endif
+ifeq (y, $(PTXCONF_KERNEL_MTD))
+kernel_extract_deps += $(STATEDIR)/mtd.extract
+endif
+
+$(STATEDIR)/kernel.extract: $(kernel_extract_deps)
+ @echo
+ @echo ----------------------
+ @echo target: kernel.extract
+ @echo ----------------------
+ @echo
+# # remove old kernel directories before we extract
+ rm -fr $(KERNEL_DIR)
+ $(KERNEL_EXTRACT) $(KERNEL_SOURCE) | tar -C $(BUILDDIR) -xf -
+# #
+# # kernels before 2.4.19 extract to "linux" instead of "linux-version"
+# #
+ ifeq (y,$(PTXCONF_KERNEL_2_4_18))
+ cd $(BUILDDIR) && mv linux $(KERNEL_DIR)
+ endif
+# #
+# # ARM patch
+# #
+ ifeq (y,$(PTXCONF_ARCH_ARM))
+ cd $(KERNEL_DIR) && \
+ $(KERNEL_RMKPATCH_EXTRACT) $(KERNEL_RMKPATCH_SOURCE) | \
+ patch -p1
+ endif
+# #
+# # XSCALE patch
+# #
+ ifeq (y, $(PTXCONF_KERNEL_XSCALE))
+ cd $(KERNEL_DIR) && \
+ $(KERNEL_PXAPATCH_EXTRACT) $(KERNEL_PXAPATCH_SOURCE) | \
+ patch -p1
+ endif
+# #
+# # MTD patch
+# #
+ ifeq (y, $(PTXCONF_KERNEL_MTD))
+ echo "y" | /bin/sh $(MTD_DIR)/patches/patchin.sh -j $(KERNEL_DIR)
+ endif
+# #
+# # XSCALE_PTX patch
+# #
+ ifeq (y, $(PTXCONF_KERNEL_XSCALE_PTX))
+ cd $(KERNEL_DIR) && \
+ $(KERNEL_PTXPATCH_EXTRACT) $(KERNEL_PTXPATCH_SOURCE) | \
+ patch -p1
+ endif
+# #
+# # patches for all architectures
+# #
+ ifeq (y, $(PTXCONF_RTAI))
+ cd $(KERNEL_DIR) && \
+ patch -p1 < $(KERNEL_RTAIPATCH_DIR)/$(RTAI)/patches/$(KERNEL_RTAIPATCH)
+ endif
+ touch $@
+
+#
+# RTAI patch
+#
+
+rtai-patches_extract: $(STATEDIR)/rtai-patches.extract
+
+$(STATEDIR)/rtai-patches.extract: $(STATEDIR)/rtai-patches.get
+ @echo
+ @echo ----------------------------
+ @echo target: rtai-patches.extract
+ @echo ----------------------------
+ @echo
+# # remove old rtaipatch directory
+ rm -fr $(KERNEL_RTAIPATCH_DIR)
+ install -d $(KERNEL_RTAIPATCH_DIR)
+# # extract only the patches directory
+ cd $(KERNEL_RTAIPATCH_DIR) && \
+ tar zxvf $(RTAI_SOURCE) $(RTAI)/patches
+ touch $@
+
+#
+# xchain
+#
+
+xchain-kernel_extract: $(STATEDIR)/xchain-kernel.extract
+
+$(STATEDIR)/xchain-kernel.extract: $(STATEDIR)/xchain-kernel.get $(STATEDIR)/mtd.extract
+ @echo
+ @echo -----------------------------
+ @echo target: xchain-kernel.extract
+ @echo -----------------------------
+ @echo
+# #
+ rm -fr $(BUILDDIR)/xchain-kernel
+ mkdir -p $(BUILDDIR)/xchain-kernel/tmp
+ cd $(BUILDDIR)/xchain-kernel && \
+ $(KERNEL_EXTRACT) $(KERNEL_SOURCE) | tar -C $(BUILDDIR)/xchain-kernel/tmp -xf -
+# #
+# # kernels before 2.4.19 extract to "linux" instead of "linux-version"
+# #
+ ifeq (y,$(PTXCONF_KERNEL_2_4_18))
+ cd $(BUILDDIR)/xchain-kernel/tmp && mv linux $(KERNEL)
+ endif
+# #
+# # ARM patch
+# #
+ ifeq (y,$(PTXCONF_ARCH_ARM))
+ cd $(BUILDDIR)/xchain-kernel/tmp/$(KERNEL) && \
+ $(KERNEL_RMKPATCH_EXTRACT) $(KERNEL_RMKPATCH_SOURCE) | \
+ patch -p1
+ endif
+# #
+# # XSCALE patch
+# #
+ ifeq (y, $(PTXCONF_KERNEL_XSCALE))
+ cd $(BUILDDIR)/xchain-kernel/tmp/$(KERNEL) && \
+ $(KERNEL_PXAPATCH_EXTRACT) $(KERNEL_PXAPATCH_SOURCE) | \
+ patch -p1
+ endif
+# #
+# # MTD patch
+# #
+ ifeq (y, $(PTXCONF_KERNEL_MTD))
+ echo "y" | /bin/sh $(MTD_DIR)/patches/patchin.sh -j $(BUILDDIR)/xchain-kernel/tmp/$(KERNEL)
+ endif
+# #
+# # XSCALE_PTX patch
+# #
+ ifeq (y, $(PTXCONF_KERNEL_XSCALE_PTX))
+ cd $(BUILDDIR)/xchain-kernel/tmp/$(KERNEL) && \
+ $(KERNEL_PTXPATCH_EXTRACT) $(KERNEL_PTXPATCH_SOURCE) | \
+ patch -p1
+ endif
+ # fake headers
+ # FIXME: use correct version!
+ touch $(BUILDDIR)/xchain-kernel/tmp/$(KERNEL)/include/linux/autoconf.h
+ echo "#define UTS_RELEASE \"2.4.18\"" > \
+ $(BUILDDIR)/xchain-kernel/tmp/$(KERNEL)/include/linux/version.h;
+ echo "#define LINUX_VERSION_CODE 132114" >> \
+ $(BUILDDIR)/xchain-kernel/tmp/$(KERNEL)/include/linux/version.h;
+ echo "#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))" >> \
+ $(BUILDDIR)/xchain-kernel/tmp/$(KERNEL)/include/linux/version.h;
+ # we are only interested in include/ here
+ cp -a $(BUILDDIR)/xchain-kernel/tmp/$(KERNEL)/include $(BUILDDIR)/xchain-kernel/
+ rm -fr $(BUILDDIR)/xchain-kernel/tmp
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+kernel_prepare: $(STATEDIR)/kernel.prepare
+
+kernel_prepare_deps = $(STATEDIR)/kernel.extract
+ifeq (y,$(PTXCONF_RTAI))
+kernel_prepare_deps += $(STATEDIR)/rtai-patches.extract
+endif
+
+ifeq (y,$(PTXCONF_ARCH_ARM))
+KERNEL_ENVIRONMENT = PATH=$(PTXCONF_PREFIX)/bin:$$PATH
+kernel_prepare_deps += $(STATEDIR)/xchain-gccstage1.install
+endif
+
+$(STATEDIR)/kernel.prepare: $(kernel_prepare_deps)
+ @echo
+ @echo ----------------------
+ @echo target: kernel.prepare
+ @echo ----------------------
+ @echo
+ ifeq (y,$(PTXCONF_BUILD_CROSSCHAIN))
+ echo -n 'Please supply root password for sudo: '
+ # FIXME: wheel is not the correct group
+ [ -d $(PTXCONF_PREFIX) ] || \
+ $(SUDO) install -g wheel -m 0755 -o $(PTXUSER) \
+ -d $(PTXCONF_PREFIX)
+ endif
+ install .kernelconfig $(KERNEL_DIR)/.config
+ ifeq (y,$(PTXCONF_ARCH_ARM))
+ perl -p -i -e 's/^ARCH := .*/ARCH := arm/' $(KERNEL_DIR)/Makefile
+ perl -p -i -e 's/^CROSS_COMPILE .*/CROSS_COMPILE = arm-linux-/' $(KERNEL_DIR)/Makefile
+ endif
+ cd $(KERNEL_DIR) && make oldconfig
+ cd $(KERNEL_DIR) && PATH=$(PTXCONF_PREFIX)/bin:$$PATH make dep
+ touch $@
+
+#
+# xchain
+#
+
+xchain-kernel_prepare: $(STATEDIR)/xchain-kernel.prepare
+
+$(STATEDIR)/xchain-kernel.prepare: $(STATEDIR)/xchain-kernel.extract
+ @echo
+ @echo -----------------------------
+ @echo target: xchain-kernel.prepare
+ @echo -----------------------------
+ @echo
+ cd $(BUILDDIR)/xchain-kernel/include && ln -s asm-$(PTXCONF_ARCH) asm
+ ifeq (y, $(PTXCONF_ARCH_ARM))
+ cd $(BUILDDIR)/xchain-kernel/include/asm && ln -s proc-armv proc
+ ifeq (y, $(PTXCONF_ARM_ARCH_PXA))
+ cd $(BUILDDIR)/xchain-kernel/include/asm && ln -s arch-pxa arch
+ endif
+ endif
+ # fake autoconf.h
+ touch $(BUILDDIR)/xchain-kernel/include/linux/autoconf.h
+ touch $@
+
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+kernel_compile: $(STATEDIR)/kernel.compile
+
+kernel_compile_deps = $(STATEDIR)/kernel.prepare
+kernel_compile_deps = $(STATEDIR)/umkimage.install
+
+$(STATEDIR)/kernel.compile: $(STATEDIR)/kernel.prepare
+ @echo
+ @echo ----------------------
+ @echo target: kernel.compile
+ @echo ----------------------
+ @echo
+ ifneq (y, $(PTXCONF_DONT_COMPILE_KERNEL))
+ $(KERNEL_ENVIRONMENT) make -C $(KERNEL_DIR) oldconfig dep clean $(KERNEL_TARGET) modules
+ endif
+ touch $@
+
+xchain-kernel_compile: $(STATEDIR)/xchain-kernel.compile
+
+$(STATEDIR)/xchain-kernel.compile:
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+kernel_install: $(STATEDIR)/kernel.install
+
+$(STATEDIR)/kernel.install: $(STATEDIR)/kernel.compile
+ @echo
+ @echo ----------------------
+ @echo target: kernel.install
+ @echo ----------------------
+ @echo
+ ifeq (y, $(PTXCONF_KERNEL_INSTALL))
+ mkdir -p $(ROOTDIR)/boot
+ cp $(KERNEL_TARGET_PATH) $(ROOTDIR)/boot/
+ endif
+ touch $@
+
+xchain-kernel_install: $(STATEDIR)/xchain-kernel.install
+
+$(STATEDIR)/xchain-kernel.install:
+ touch $@
+
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+kernel_targetinstall: $(STATEDIR)/kernel.targetinstall
+
+$(STATEDIR)/kernel.targetinstall: $(STATEDIR)/kernel.install
+ @echo
+ @echo ----------------------------
+ @echo target: kernel.targetinstall
+ @echo ----------------------------
+ @echo
+ ifneq (y, $(PTXCONF_DONT_COMPILE_KERNEL))
+ mkdir -p $(ROOTDIR)/boot
+# #
+# # FIXME: we need to change the name to reflect the kernel version
+# # FIXME: change this to be architecture independend
+ ifeq (y,$(PTXCONF_KERNEL_INSTALL))
+ ifeq (y,$(PTXCONF_ARCH_X86))
+ install $(KERNEL_DIR)/arch/i386/boot/bzImage $(ROOTDIR)/boot
+ endif
+ ifeq (y,$(PTXCONF_ARCH_ARM))
+ mkdir -p $(ROOTDIR)/boot
+ install $(KERNEL_TARGET_PATH) $(ROOTDIR)/boot
+ endif
+ $(KERNEL_ENVIRONMENT) make -C $(KERNEL_DIR) modules_install INSTALL_MOD_PATH=$(ROOTDIR)
+# #
+ endif # PTXCONF_KERNEL_INSTALL
+ endif # PTXCONF_DONT_COMPILE_KERNEL
+ touch $@
+
+xchain-kernel_targetinstall: $(STATEDIR)/xchain-kernel.targetinstall
+
+$(STATEDIR)/xchain-kernel.targetinstall:
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+kernel_clean: rtai-patches_clean
+ rm -rf $(STATEDIR)/kernel.* $(KERNEL_DIR)
+
+xchain-kernel_clean:
+ rm -fr $(STATEDIR)/xchain-kernel.*
+
+rtai-patches_clean:
+ rm -rf $(STATEDIR)/rtai-patches.* $(KERNEL_RTAIPATCH_DIR)
+
+# vim: syntax=make
diff --git a/rules/zlib.make b/rules/zlib.make
new file mode 100644
index 000000000..1bae9c3a2
--- /dev/null
+++ b/rules/zlib.make
@@ -0,0 +1,202 @@
+# $Id: zlib.make,v 1.1 2003/04/24 08:06:33 jst Exp $
+#
+# (c) 2002 by Pengutronix e.K., Hildesheim, Germany
+# See CREDITS for details about who has contributed to this project.
+#
+# For further information about the PTXDIST project and license conditions
+# see the README file.
+#
+
+#
+# We provide this package
+#
+ifeq (y,$(PTXCONF_ZLIB))
+PACKAGES += zlib
+PACKAGES += xchain-zlib
+endif
+
+#
+# Paths and names
+#
+ZLIB = zlib-1.1.4
+ZLIB_URL = ftp://ftp.info-zip.org/pub/infozip/zlib/$(ZLIB).tar.gz
+ZLIB_SOURCE = $(SRCDIR)/$(ZLIB).tar.gz
+ZLIB_DIR = $(BUILDDIR)/$(ZLIB)
+ZLIB_EXTRACT = gzip -dc
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+zlib_get: $(STATEDIR)/zlib.get
+
+$(STATEDIR)/zlib.get: $(ZLIB_SOURCE)
+ touch $@
+
+xchain-zlib_get: $(STATEDIR)/xchain-zlib.get
+
+$(STATEDIR)/xchain-zlib.get: $(ZLIB_SOURCE)
+ touch $@
+
+$(ZLIB_SOURCE):
+ @echo
+ @echo ----------------
+ @echo target: zlib.get
+ @echo ----------------
+ @echo
+ wget -P $(SRCDIR) $(PASSIVEFTP) $(ZLIB_URL)
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+zlib_extract: $(STATEDIR)/zlib.extract
+
+$(STATEDIR)/zlib.extract: $(STATEDIR)/zlib.get
+ @echo
+ @echo --------------------
+ @echo target: zlib.extract
+ @echo --------------------
+ @echo
+ $(ZLIB_EXTRACT) $(ZLIB_SOURCE) | $(TAR) -C $(BUILDDIR) -xf -
+ touch $@
+
+xchain-zlib_extract: $(STATEDIR)/xchain-zlib.extract
+
+$(STATEDIR)/xchain-zlib.extract: $(STATEDIR)/xchain-zlib.get
+ @echo
+ @echo ---------------------------
+ @echo target: xchain-zlib.extract
+ @echo ---------------------------
+ @echo
+ rm -fr $(BUILDDIR)/xchain-zlib
+ mkdir -p $(BUILDDIR)/xchain-zlib
+ $(ZLIB_EXTRACT) $(ZLIB_SOURCE) | $(TAR) -C $(BUILDDIR)/xchain-zlib -xf -
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+zlib_prepare: $(STATEDIR)/zlib.prepare
+
+ZLIB_AUTOCONF =
+ZLIB_AUTOCONF += --shared
+ZLIB_AUTOCONF += --prefix=$(PTXCONF_PREFIX)
+
+$(STATEDIR)/zlib.prepare: $(STATEDIR)/zlib.extract
+ @echo
+ @echo --------------------
+ @echo target: zlib.prepare
+ @echo --------------------
+ @echo
+ # FIXME: this does currently not work with the local toolchain
+ cd $(ZLIB_DIR) && \
+ ./configure $(ZLIB_AUTOCONF)
+ perl -i -p -e 's/gcc/$(PTXCONF_GNU_TARGET)-gcc/g' $(ZLIB_DIR)/Makefile
+ touch $@
+
+xchain-zlib_prepare: $(STATEDIR)/xchain-zlib.prepare
+
+XCHAIN_ZLIB_AUTOCONF =
+XCHAIN_ZLIB_AUTOCONF += --shared
+XCHAIN_ZLIB_AUTOCONF += --prefix=$(PTXCONF_PREFIX)
+
+$(STATEDIR)/xchain-zlib.prepare: $(STATEDIR)/xchain-zlib.extract
+ @echo
+ @echo ---------------------------
+ @echo target: xchain-zlib.prepare
+ @echo ---------------------------
+ @echo
+ cd $(BUILDDIR)/xchain-zlib/$(ZLIB) && \
+ ./configure $(XCHAIN_ZLIB_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+zlib_compile: $(STATEDIR)/zlib.compile
+
+$(STATEDIR)/zlib.compile: $(STATEDIR)/zlib.prepare
+ @echo
+ @echo --------------------
+ @echo target: zlib.compile
+ @echo --------------------
+ @echo
+ cd $(ZLIB_DIR) && PATH=$(PTXCONF_PREFIX)/bin:$$PATH make CC=$(PTXCONF_GNU_TARGET)-gcc
+ touch $@
+
+xchain-zlib_compile: $(STATEDIR)/xchain-zlib.compile
+
+$(STATEDIR)/xchain-zlib.compile: $(STATEDIR)/xchain-zlib.prepare
+ @echo
+ @echo ---------------------------
+ @echo target: xchain-zlib.compile
+ @echo ---------------------------
+ @echo
+ cd $(BUILDDIR)/xchain-zlib/$(ZLIB) && make CC=$(HOSTCC)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+zlib_install: $(STATEDIR)/zlib.install
+
+$(STATEDIR)/zlib.install: $(STATEDIR)/zlib.compile
+ @echo
+ @echo --------------------
+ @echo target: zlib.install
+ @echo --------------------
+ @echo
+ touch $@
+
+xchain-zlib_install: $(STATEDIR)/xchain-zlib.install
+
+$(STATEDIR)/xchain-zlib.install: $(STATEDIR)/xchain-zlib.compile
+ @echo
+ @echo ---------------------------
+ @echo target: xchain-zlib.install
+ @echo ---------------------------
+ @echo
+ PATH=$(PTXCONF_PREFIX)/bin:$$PATH make -C $(BUILDDIR)/xchain-zlib/$(ZLIB) install PREFIX=$(PTXCONF_PREFIX)
+ touch $@
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+zlib_targetinstall: $(STATEDIR)/zlib.targetinstall
+
+$(STATEDIR)/zlib.targetinstall: $(STATEDIR)/zlib.install
+ @echo
+ @echo --------------------------
+ @echo target: zlib.targetinstall
+ @echo --------------------------
+ @echo
+ mkdir -p $(ROOTDIR)/lib
+ cp -d $(ZLIB_DIR)/libz.so* $(ROOTDIR)/lib
+ $(CROSSSTRIP) -S $(ROOTDIR)/lib/libz.so*
+ touch $@
+
+xchain-zlib_targetinstall: $(STATEDIR)/xchain-zlib.targetinstall
+
+$(STATEDIR)/xchain-zlib.targetinstall: $(STATEDIR)/xchain-zlib.install
+ @echo
+ @echo ---------------------------------
+ @echo target: xchain-zlib.targetinstall
+ @echo ---------------------------------
+ @echo
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+zlib_clean:
+ rm -rf $(STATEDIR)/zlib.* $(ZLIB_DIR)
+
+xchain-zlib_clean:
+ rm -rf $(STATEDIR)/xchain-zlib.* $(BUILDDIR)/xchain-zlib
+
+# vim: syntax=make