summaryrefslogtreecommitdiffstats
path: root/rules/xchain-nasm.make
diff options
context:
space:
mode:
Diffstat (limited to 'rules/xchain-nasm.make')
-rw-r--r--rules/xchain-nasm.make138
1 files changed, 138 insertions, 0 deletions
diff --git a/rules/xchain-nasm.make b/rules/xchain-nasm.make
new file mode 100644
index 000000000..e5a7f4e86
--- /dev/null
+++ b/rules/xchain-nasm.make
@@ -0,0 +1,138 @@
+# -*-makefile-*-
+# $Id: xchain-nasm.make,v 1.2 2003/10/23 15:01:19 mkl Exp $
+#
+# Copyright (C) 2003 by Dan Kegel http://kegel.com
+#
+# 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
+#
+ifdef PTXCONF_NASM
+PACKAGES += xchain-nasm
+endif
+
+#
+# Paths and names
+#
+XCHAIN_NASM_VERSION = 0.98.38
+XCHAIN_NASM = nasm-$(XCHAIN_NASM_VERSION)
+XCHAIN_NASM_SUFFIX = tar.bz2
+XCHAIN_NASM_URL = http://umn.dl.sourceforge.net/sourceforge/nasm/$(XCHAIN_NASM).$(XCHAIN_NASM_SUFFIX)
+XCHAIN_NASM_SOURCE = $(SRCDIR)/$(XCHAIN_NASM).$(XCHAIN_NASM_SUFFIX)
+XCHAIN_NASM_DIR = $(BUILDDIR)/$(XCHAIN_NASM)
+
+# ----------------------------------------------------------------------------
+# Get
+# ----------------------------------------------------------------------------
+
+xchain-nasm_get: $(STATEDIR)/xchain-nasm.get
+
+xchain-nasm_get_deps = $(XCHAIN_NASM_SOURCE)
+
+$(STATEDIR)/xchain-nasm.get: $(xchain-nasm_get_deps)
+ @$(call targetinfo, $@)
+ touch $@
+
+$(XCHAIN_NASM_SOURCE):
+ @$(call targetinfo, $@)
+ @$(call get, $(XCHAIN_NASM_URL))
+
+# ----------------------------------------------------------------------------
+# Extract
+# ----------------------------------------------------------------------------
+
+xchain-nasm_extract: $(STATEDIR)/xchain-nasm.extract
+
+xchain-nasm_extract_deps = $(STATEDIR)/xchain-nasm.get
+
+$(STATEDIR)/xchain-nasm.extract: $(xchain-nasm_extract_deps)
+ @$(call targetinfo, $@)
+ @$(call clean, $(XCHAIN_NASM_DIR))
+ @$(call extract, $(XCHAIN_NASM_SOURCE))
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Prepare
+# ----------------------------------------------------------------------------
+
+xchain-nasm_prepare: $(STATEDIR)/xchain-nasm.prepare
+
+#
+# dependencies
+#
+xchain-nasm_prepare_deps = \
+ $(STATEDIR)/xchain-nasm.extract
+
+
+XCHAIN_NASM_PATH = PATH=$(CROSS_PATH)
+XCHAIN_NASM_ENV = $(HOSTCC_ENV)
+
+#
+# autoconf
+#
+XCHAIN_NASM_AUTOCONF = \
+ --target=$(PTXCONF_GNU_TARGET) \
+ --host=$(GNU_HOST) \
+ --build=$(GNU_HOST) \
+ --prefix=$(PTXCONF_PREFIX)
+
+$(STATEDIR)/xchain-nasm.prepare: $(xchain-nasm_prepare_deps)
+ @$(call targetinfo, $@)
+ @$(call clean, $(XCHAIN_NASM_BUILDDIR))
+ cd $(XCHAIN_NASM_DIR) && \
+ $(XCHAIN_NASM_PATH) $(XCHAIN_NASM_ENV) \
+ ./configure $(XCHAIN_NASM_AUTOCONF)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Compile
+# ----------------------------------------------------------------------------
+
+xchain-nasm_compile: $(STATEDIR)/xchain-nasm.compile
+
+xchain-nasm_compile_deps = $(STATEDIR)/xchain-nasm.prepare
+
+$(STATEDIR)/xchain-nasm.compile: $(xchain-nasm_compile_deps)
+ @$(call targetinfo, $@)
+ $(XCHAIN_NASM_PATH) make -C $(XCHAIN_NASM_DIR)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Install
+# ----------------------------------------------------------------------------
+
+xchain-nasm_install: $(STATEDIR)/xchain-nasm.install
+
+$(STATEDIR)/xchain-nasm.install: $(STATEDIR)/xchain-nasm.compile
+ @$(call targetinfo, $@)
+ mkdir -p $(PTXCONF_PREFIX)/bin
+ mkdir -p $(PTXCONF_PREFIX)/man/man1
+ $(XCHAIN_NASM_PATH) make -C $(XCHAIN_NASM_DIR) install
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Target-Install
+# ----------------------------------------------------------------------------
+
+xchain-nasm_targetinstall: $(STATEDIR)/xchain-nasm.targetinstall
+
+xchain-nasm_targetinstall_deps = $(STATEDIR)/xchain-nasm.install
+
+$(STATEDIR)/xchain-nasm.targetinstall: $(xchain-nasm_targetinstall_deps)
+ @$(call targetinfo, $@)
+ touch $@
+
+# ----------------------------------------------------------------------------
+# Clean
+# ----------------------------------------------------------------------------
+
+nasm_clean:
+ rm -rf $(STATEDIR)/xchain-nasm.*
+ rm -rf $(XCHAIN_NASM_DIR)
+
+# vim: syntax=make