fix dependencies
[buildroot.git] / package / nasm / nasm.mk
blob87744eddca5472a64f5eb92de553585bc5f0e0f3
1 #############################################################
3 # nasm
5 #############################################################
6 NASM_VERSION:=2.04
7 NASM_SOURCE:=nasm-$(NASM_VERSION).tar.bz2
8 NASM_SITE:=http://www.nasm.us/pub/nasm/releasebuilds/$(NASM_VERSION)/
9 NASM_SRCDIR:=$(TOOL_BUILD_DIR)/nasm-$(NASM_VERSION)
10 NASM_DIR:=$(BUILD_DIR)/nasm-$(NASM_VERSION)
11 NASM_HOSTDIR:=$(TOOL_BUILD_DIR)/nasm-$(NASM_VERSION)-host
12 NASM_CAT:=$(BZCAT)
13 NASM_BINARY:=nasm
14 NASM_BINARIES:=ldrdf rdf2bin rdf2com rdf2bin rdf2ihx rdfdump rdflib rdx
15 NASM_TARGET_BINARY:=usr/bin/nasm
17 $(DL_DIR)/$(NASM_SOURCE):
18 $(WGET) -P $(DL_DIR) $(NASM_SITE)/$(NASM_SOURCE)
20 $(NASM_SRCDIR)/.unpacked: $(DL_DIR)/$(NASM_SOURCE)
21 $(NASM_CAT) $(DL_DIR)/$(NASM_SOURCE) | tar -C $(TOOL_BUILD_DIR) $(TAR_OPTIONS) -
22 toolchain/patch-kernel.sh $(NASM_SRCDIR) package/nasm/ nasm-$(NASM_VERSION)\*.patch
23 $(CONFIG_UPDATE) $(NASM_SRCDIR)/
24 touch $@
26 $(NASM_DIR)/.configured: THIS_SRCDIR=$(NASM_SRCDIR)
27 $(NASM_DIR)/.configured: $(NASM_SRCDIR)/.unpacked
28 mkdir -p $(@D)
29 (cd $(@D); rm -rf config.cache; \
30 $(AUTO_CONFIGURE_TARGET) \
31 --prefix=/usr \
33 touch $@
35 $(NASM_DIR)/$(NASM_BINARY): $(NASM_DIR)/.configured
36 $(MAKE) -C $(NASM_DIR)/
37 touch -c $@
39 $(TARGET_DIR)/$(NASM_TARGET_BINARY): $(NASM_DIR)/$(NASM_BINARY)
40 # Bloat: rdoff/* should use a common library!
41 $(MAKE) INSTALLROOT=$(TARGET_DIR) -C $(NASM_DIR) install install_rdf
42 ifneq ($(BR2_HAVE_INFOPAGES),y)
43 rm -rf $(TARGET_DIR)/usr/share/info
44 endif
45 ifneq ($(BR2_HAVE_MANPAGES),y)
46 rm -rf $(TARGET_DIR)/usr/share/man
47 endif
48 rm -rf $(TARGET_DIR)/share/locale
49 rm -rf $(TARGET_DIR)/usr/share/doc
50 $(STRIPCMD) $(STRIP_STRIP_ALL) $@
52 nasm: $(TARGET_DIR)/$(NASM_TARGET_BINARY)
54 nasm-source: $(DL_DIR)/$(NASM_SOURCE)
56 nasm-clean:
57 -$(MAKE) -C $(NASM_DIR) clean
58 rm -rf $(TARGET_DIR)/$(NASM_TARGET_BINARY) \
59 $(addprefix $(TARGET_DIR)/$(dir $(NASM_TARGET_BINARY)), \
60 ndisasm $(NASM_BINARIES))
62 nasm-dirclean:
63 rm -rf $(NASM_DIR)
65 #############################################################
67 # Toplevel Makefile options
69 #############################################################
70 ifeq ($(BR2_PACKAGE_NASM),y)
71 TARGETS+=nasm
72 endif
74 #############################################################
76 # nasm for the host
78 #############################################################
79 HOST_NASM_BINARY=$(shell $(CONFIG_SHELL) package/nasm/nasmcheck.sh)
80 HOST_NASM_IF_ANY=$(shell $(CONFIG_SHELL) toolchain/dependencies/check-host-nasm.sh)
83 $(NASM_HOSTDIR)/.configured: THIS_SRCDIR=$(NASM_SRCDIR)
84 $(NASM_HOSTDIR)/.configured: $(NASM_SRCDIR)/.unpacked
85 mkdir -p $(@D)
86 (cd $(@D); rm -rf config.cache; \
87 $(HOST_CONFIGURE_OPTS) \
88 $(THIS_SRCDIR)/configure \
89 --prefix=/usr \
91 touch $@
93 $(NASM_HOSTDIR)/$(NASM_BINARY): $(NASM_HOSTDIR)/.configured
94 $(MAKE) -C $(NASM_HOSTDIR)/
95 touch -c $@
97 build-nasm-host-binary: $(NASM_HOSTDIR)/$(NASM_BINARY)
98 $(Q)if [ -L $(TOOL_BUILD_DIR)/bin/$(NASM_BINARY) ]; then \
99 rm -f $(TOOL_BUILD_DIR)/bin/$(NASM_BINARY); \
101 $(Q)if [ ! -f $(TOOL_BUILD_DIR)/bin/$(NASM_BINARY) \
102 -o $(TOOL_BUILD_DIR)/bin/$(NASM_BINARY) \
103 -ot $(NASM_HOST_DIR)/$(NASM_BINARY) ]; then \
104 set -x; \
105 $(INSTALL) -D -m0755 $(NASM_HOSTDIR)/$(NASM_BINARY) $(TOOL_BUILD_DIR)/bin/$(NASM_BINARY); \
106 $(INSTALL) -D -m0755 $(NASM_HOSTDIR)/ndisasm $(TOOL_BUILD_DIR)/bin/ndisasm; \
107 $(foreach f,$(NASM_BINARIES),\
108 $(INSTALL) -D -m0755 $(NASM_HOSTDIR)/rdoff/$(f) $(TOOL_BUILD_DIR)/bin/$(f);) \
111 use-nasm-host-binary:
112 $(Q)if [ ! -e "$(TOOL_BUILD_DIR)/bin/$(NASM_BINARY)" ]; then \
113 rm -f $(TOOL_BUILD_DIR)/bin/$(NASM_BINARY); \
114 mkdir -p $(TOOL_BUILD_DIR)/bin; \
115 ln -sf "$(HOST_NASM_IF_ANY)" \
116 $(TOOL_BUILD_DIR)/bin/$(NASM_BINARY); \
119 host-nasm: $(HOST_NASM_BINARY)
121 host-nasm-source: $(DL_DIR)/$(NASM_SOURCE)
122 ifeq ($(HOST_NASM_BINARY),build-nasm-host-binary)
123 host-nasm-clean:
124 -$(MAKE) -C $(NASM_HOSTDIR) clean
125 rm -rf $(addprefix $(TOOL_BUILD_DIR)/bin/,$(NASM_BINARY) ndisasm\
126 $(NASM_BINARIES))
128 host-nasm-dirclean:
129 rm -rf $(NASM_HOSTDIR) $(NASM_SRCDIR)
130 else
131 host-nasm-clean host-nasm-dirclean:
132 endif
133 .PHONY: host-nasm use-nasm-host-binary