improve clean targets
[buildroot.git] / package / util-linux / util-linux.mk
blob4cb0e71ede4591e6aef33841658c6a900910bfc2
1 #############################################################
3 # util-linux
5 #############################################################
6 UTIL-LINUX_VERSION:=2.12r
7 UTIL-LINUX_SOURCE:=util-linux-$(UTIL-LINUX_VERSION).tar.bz2
8 UTIL-LINUX_SITE:=$(BR2_KERNEL_MIRROR)/linux/utils/util-linux
9 UTIL-LINUX_DIR:=$(BUILD_DIR)/util-linux-$(UTIL-LINUX_VERSION)
10 UTIL-LINUX_CAT:=$(BZCAT)
11 UTIL-LINUX_BINARY:=$(UTIL-LINUX_DIR)/misc-utils/chkdupexe
12 UTIL-LINUX_TARGET_BINARY:=$(TARGET_DIR)/usr/bin/chkdupexe
14 $(DL_DIR)/$(UTIL-LINUX_SOURCE):
15 $(WGET) -P $(DL_DIR) $(UTIL-LINUX_SITE)/$(UTIL-LINUX_SOURCE)
17 $(UTIL-LINUX_DIR)/.unpacked: $(DL_DIR)/$(UTIL-LINUX_SOURCE)
18 $(UTIL-LINUX_CAT) $(DL_DIR)/$(UTIL-LINUX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
19 toolchain/patch-kernel.sh $(UTIL-LINUX_DIR) package/util-linux/ util-linux\*.patch
20 ifneq ($(BR2_LARGEFILE),y)
21 $(SED) "/D_FILE_OFFSET_BITS/ d" $(UTIL-LINUX_DIR)/MCONFIG
22 endif
23 touch $(UTIL-LINUX_DIR)/.unpacked
25 $(UTIL-LINUX_DIR)/.configured: $(UTIL-LINUX_DIR)/.unpacked
26 (cd $(UTIL-LINUX_DIR); rm -rf config.cache; \
27 $(TARGET_CONFIGURE_OPTS) \
28 $(TARGET_CONFIGURE_ARGS) \
29 ./configure \
30 --target=$(GNU_TARGET_NAME) \
31 --prefix=/usr \
32 --exec-prefix=/usr \
33 --bindir=/usr/bin \
34 --sbindir=/usr/sbin \
35 --libdir=/lib \
36 --libexecdir=/usr/lib \
37 --sysconfdir=/etc \
38 --datadir=/usr/share \
39 --localstatedir=/var \
40 --mandir=/usr/man \
41 --infodir=/usr/info \
42 $(DISABLE_NLS) \
43 $(DISABLE_LARGEFILE) \
44 ARCH=$(ARCH) \
46 $(SED) "s,^INSTALLSUID=.*,INSTALLSUID=\\$$\(INSTALL\) -m \\$$\(BINMODE\)," \
47 $(UTIL-LINUX_DIR)/MCONFIG
48 $(SED) "s,^USE_TTY_GROUP=.*,USE_TTY_GROUP=no," $(UTIL-LINUX_DIR)/MCONFIG
49 touch $(UTIL-LINUX_DIR)/.configured
51 $(UTIL-LINUX_BINARY): $(UTIL-LINUX_DIR)/.configured
52 $(MAKE) \
53 -C $(UTIL-LINUX_DIR) \
54 ARCH=$(ARCH) \
55 CC=$(TARGET_CC) \
56 OPT="$(TARGET_CFLAGS)" \
57 HAVE_SLANG="NO"
59 $(UTIL-LINUX_TARGET_BINARY): $(UTIL-LINUX_BINARY)
60 $(MAKE) ARCH=$(ARCH) DESTDIR=$(TARGET_DIR) USE_TTY_GROUP=no -C $(UTIL-LINUX_DIR) install
61 rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/share/info \
62 $(TARGET_DIR)/usr/share/man $(TARGET_DIR)/usr/share/doc
64 #If both util-linux and busybox are selected, make certain util-linux
65 #wins the fight over who gets to have their utils actually installed
66 ifeq ($(BR2_PACKAGE_BUSYBOX),y)
67 util-linux: uclibc busybox $(UTIL-LINUX_TARGET_BINARY)
68 else
69 util-linux: uclibc $(UTIL-LINUX_TARGET_BINARY)
70 endif
73 util-linux-source: $(DL_DIR)/$(UTIL-LINUX_SOURCE)
75 util-linux-clean:
76 #There is no working 'uninstall' target. Just skip it...
77 #$(MAKE) DESTDIR=$(TARGET_DIR) -C $(UTIL-LINUX_DIR) uninstall
78 -$(MAKE) -C $(UTIL-LINUX_DIR) clean
80 util-linux-dirclean:
81 rm -rf $(UTIL-LINUX_DIR)
84 #############################################################
86 # Toplevel Makefile options
88 #############################################################
89 ifeq ($(BR2_PACKAGE_UTIL-LINUX),y)
90 TARGETS+=util-linux
91 endif