diff options
Diffstat (limited to 'rules')
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 |