pass ARCH down to uClibc
[buildroot.git] / package / modutils / modutils.mk
blob87fe2cb1a273e9ed27a90c9b4d5a25c05dd5ca4e
1 #############################################################
3 # modutils
5 #############################################################
6 MODUTILS_VERSION:=2.4.27
7 MODUTILS_SOURCE=modutils-$(MODUTILS_VERSION).tar.bz2
8 MODUTILS_CAT:=$(BZCAT)
9 MODUTILS_SITE=$(BR2_KERNEL_MIRROR)/linux/utils/kernel/modutils/v2.4/
10 MODUTILS_DIR1=$(BUILD_DIR)/modutils-$(MODUTILS_VERSION)
11 MODUTILS_DIR2=$(TOOL_BUILD_DIR)/modutils-$(MODUTILS_VERSION)
12 MODUTILS_BINARY=depmod
13 MODUTILS_TARGET_BINARY=sbin/$(MODUTILS_BINARY)
15 STRIPPROG=$(STRIPCMD)
17 $(DL_DIR)/$(MODUTILS_SOURCE):
18 $(WGET) -P $(DL_DIR) $(MODUTILS_SITE)/$(MODUTILS_SOURCE)
20 #############################################################
22 # build modutils for use on the target system
24 #############################################################
25 $(MODUTILS_DIR1)/.source: $(DL_DIR)/$(MODUTILS_SOURCE)
26 $(MODUTILS_CAT) $(DL_DIR)/$(MODUTILS_SOURCE) | tar -C $(BUILD_DIR) -xvf -
27 toolchain/patch-kernel.sh $(MODUTILS_DIR1) \
28 package/modutils \*.patch
29 touch $(MODUTILS_DIR1)/.source
31 $(MODUTILS_DIR1)/.configured: $(MODUTILS_DIR1)/.source
32 (cd $(MODUTILS_DIR1); rm -f config.cache; \
33 $(TARGET_CONFIGURE_OPTS) \
34 $(TARGET_CONFIGURE_ARGS) \
35 INSTALL=$(MODUTILS_DIR1)/install-sh \
36 ./configure \
37 --target=$(GNU_TARGET_NAME) \
38 --host=$(GNU_TARGET_NAME) \
39 --build=$(GNU_HOST_NAME) \
40 --prefix=/ \
41 --sysconfdir=/etc \
43 touch $@
45 $(MODUTILS_DIR1)/.build: $(MODUTILS_DIR1)/.configured
46 $(MAKE1) CC=$(TARGET_CC) -C $(MODUTILS_DIR1)
47 touch $@
49 $(STAGING_DIR)/$(MODUTILS_TARGET_BINARY): $(MODUTILS_DIR1)/.build
50 STRIPPROG='$(STRIPPROG)' \
51 $(MAKE) prefix=$(STAGING_DIR) -C $(MODUTILS_DIR1) install-bin
52 touch -c $@
54 $(TARGET_DIR)/sbin/rmmod: $(STAGING_DIR)/$(MODUTILS_TARGET_BINARY)
55 cp -dpf $(STAGING_DIR)/sbin/depmod $(TARGET_DIR)/sbin/depmod
56 cp -dpf $(STAGING_DIR)/sbin/insmod $(TARGET_DIR)/sbin/insmod
57 cp -dpf $(STAGING_DIR)/sbin/modinfo $(TARGET_DIR)/sbin/modinfo
58 ln -s insmod $(TARGET_DIR)/sbin/kallsyms
59 ln -s insmod $(TARGET_DIR)/sbin/ksyms
60 ln -s insmod $(TARGET_DIR)/sbin/lsmod
61 ln -s insmod $(TARGET_DIR)/sbin/modprobe
62 ln -s insmod $(TARGET_DIR)/sbin/rmmod
64 modutils: $(TARGET_DIR)/sbin/rmmod
66 modutils-source: $(DL_DIR)/$(MODUTILS_SOURCE)
68 modutils-clean:
69 $(MAKE) prefix=$(TARGET_DIR)/usr -C $(MODUTILS_DIR1) uninstall
70 -$(MAKE) -C $(MODUTILS_DIR1) clean
72 modutils-dirclean:
73 rm -rf $(MODUTILS_DIR1)
75 modutils-target-clean:
76 rm -f $(TARGET_DIR)/sbin/depmod
77 rm -f $(TARGET_DIR)/sbin/insmod
78 rm -f $(TARGET_DIR)/sbin/modinfo
79 rm -f $(TARGET_DIR)/sbin/kallsyms
80 rm -f $(TARGET_DIR)/sbin/ksyms
81 rm -f $(TARGET_DIR)/sbin/lsmod
82 rm -f $(TARGET_DIR)/sbin/modprobe
83 rm -f $(TARGET_DIR)/sbin/rmmod
85 #############################################################
87 # build modutils for use on the host system
89 #############################################################
90 ifeq ($(BR2_mips),y)
91 DEPMOD_EXTRA_STUFF=CFLAGS=-D__MIPSEB__
92 endif
93 ifeq ($(BR2_mipsel),y)
94 DEPMOD_EXTRA_STUFF=CFLAGS=-D__MIPSEL__
95 endif
97 $(MODUTILS_DIR2)/.source: $(DL_DIR)/$(MODUTILS_SOURCE)
98 $(MODUTILS_CAT) $(DL_DIR)/$(MODUTILS_SOURCE) | tar -C $(TOOL_BUILD_DIR) -xvf -
99 toolchain/patch-kernel.sh $(MODUTILS_DIR2) \
100 package/modutils \*.patch
101 touch $@
103 $(MODUTILS_DIR2)/.configured: $(MODUTILS_DIR2)/.source
104 (cd $(MODUTILS_DIR2); \
105 ./configure $(DEPMOD_EXTRA_STUFF) \
106 --target=$(GNU_TARGET_NAME) \
107 --host=$(GNU_HOST_NAME) \
108 --build=$(GNU_HOST_NAME) \
109 --prefix=/ \
110 --sysconfdir=/etc \
112 touch $@
114 $(MODUTILS_DIR2)/$(MODUTILS_BINARY): $(MODUTILS_DIR2)/.configured
115 $(MAKE1) -C $(MODUTILS_DIR2)
116 touch -c $@
118 $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod: $(MODUTILS_DIR2)/$(MODUTILS_BINARY)
119 mkdir -p $(STAGING_DIR)/bin
120 cp $(MODUTILS_DIR2)/$(MODUTILS_BINARY) $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod
121 touch -c $@
123 cross-depmod: $(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod
125 cross-depmod-source: $(DL_DIR)/$(MODUTILS_SOURCE)
127 cross-depmod-clean:
128 $(MAKE) prefix=$(TARGET_DIR)/usr -C $(MODUTILS_DIR2) uninstall
129 -$(MAKE) -C $(MODUTILS_DIR2) clean
131 cross-depmod-dirclean:
132 rm -rf $(MODUTILS_DIR2)
136 #############################################################
138 ## Toplevel Makefile options
140 ##############################################################
141 ifeq ($(BR2_PACKAGE_MODUTILS),y)
142 TARGETS+=modutils
143 endif