5c56b09db810951fa2ad05ca60967876c59fbba1
[ipfire-2.x.git] / lfs / coreutils
1 ###############################################################################
2 # This file is part of the IPCop Firewall.                                    #
3 #                                                                             #
4 # IPCop is free software; you can redistribute it and/or modify               #
5 # it under the terms of the GNU General Public License as published by        #
6 # the Free Software Foundation; either version 2 of the License, or           #
7 # (at your option) any later version.                                         #
8 #                                                                             #
9 # IPCop is distributed in the hope that it will be useful,                    #
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of              #
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
12 # GNU General Public License for more details.                                #
13 #                                                                             #
14 # You should have received a copy of the GNU General Public License           #
15 # along with IPCop; if not, write to the Free Software                        #
16 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA    #
17 #                                                                             #
18 # Makefiles are based on LFSMake, which is                                    #
19 # Copyright (C) 2002 Rod Roard <rod@sunsetsystems.com>                        #
20 #                                                                             #
21 # Modifications by:                                                           #
22 # ??-12-2003 Mark Wormgoor < mark@wormgoor.com>                               #
23 #          - Modified Makefile for IPCop build                                #
24 #                                                                             #
25 # $Id: coreutils,v 1.5.2.8 2006/01/21 15:01:58 franck78 Exp $
26 #                                                                             #
27 ###############################################################################
28
29 ###############################################################################
30 # Definitions
31 ###############################################################################
32
33 include Config
34
35 VER        = 5.93
36
37 THISAPP    = coreutils-$(VER)
38 DL_FILE    = $(THISAPP).tar.bz2
39 DL_FROM    = $(URL_GNU)/coreutils
40 DIR_APP    = $(DIR_SRC)/$(THISAPP)
41
42 # Normal build or /tools build.
43 #
44 ifeq "$(ROOT)" ""
45   TARGET = $(DIR_INFO)/$(THISAPP)
46   EXTRA_CONFIG = --prefix=/usr --disable-nls
47   EXTRA_MAKE =
48   EXTRA_INSTALL =
49 else
50   TARGET = $(DIR_INFO)/$(THISAPP)-tools
51   EXTRA_CONFIG = --prefix=/tools --disable-nls --host=$(MACHINE)
52   EXTRA_MAKE = 
53   EXTRA_INSTALL = 
54 endif
55
56 ###############################################################################
57 # Top-level Rules
58 ###############################################################################
59 objects =$(DL_FILE) $(THISAPP)-uname-1.patch
60
61 $(DL_FILE)                      = $(DL_FROM)/$(DL_FILE)
62 $(THISAPP)-uname-1.patch        = $(URL_LFS)/coreutils/$(THISAPP)-uname-1.patch
63
64 $(DL_FILE)_MD5                  = 955d8abfd3dd8af2ca3af51480f1f9af
65 $(THISAPP)-uname-1.patch_MD5    = c05b735710fbd62239588c07084852a0
66
67 install : $(TARGET)
68
69 check : $(patsubst %,$(DIR_CHK)/%,$(objects))
70
71 download :$(patsubst %,$(DIR_DL)/%,$(objects))
72
73 md5 : $(subst %,%_MD5,$(objects))
74
75 ###############################################################################
76 # Downloading, checking, md5sum
77 ###############################################################################
78
79 $(patsubst %,$(DIR_CHK)/%,$(objects)) :
80         @$(CHECK)
81
82 $(patsubst %,$(DIR_DL)/%,$(objects)) :
83         @$(LOAD)
84
85 $(subst %,%_MD5,$(objects)) :
86         @$(MD5)
87
88 ###############################################################################
89 # Installation Details
90 ###############################################################################
91
92 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
93         @$(PREBUILD)
94         @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
95         cd $(DIR_APP) && patch -Np1 < $(DIR_DL)/$(THISAPP)-uname-1.patch
96 ifneq "$(ROOT)" ""
97         #previous patch of uname implies rebuild of doc/uname.1 which fails; remove doc&man build from toolchain
98         cd $(DIR_APP) && sed -i "s/SUBDIRS = lib src doc man po tests/SUBDIRS = lib src po tests/g" Makefile.in
99 endif
100         cd $(DIR_APP) && DEFAULT_POSIX2_VERSION=199209 ./configure $(EXTRA_CONFIG)
101         cd $(DIR_APP) && make -j 3 $(EXTRA_MAKE)
102         cd $(DIR_APP) && make $(EXTRA_INSTALL) install
103         #use hostname from inet-tools
104 ifeq "$(ROOT)" ""
105         rm /usr/bin/hostname
106         mv -f /usr/bin/{basename,cat,chgrp,chmod,chown,cp,dd,df} /bin
107         mv -f /usr/bin/{dir,dircolors,du,date,echo,false,head} /bin
108         mv -f /usr/bin/{install,ln,ls,mkdir,mkfifo,mknod,mv,pwd} /bin
109         mv -f /usr/bin/{rm,rmdir,shred,sync,sleep,stty,su,test} /bin
110         mv -f /usr/bin/{touch,true,uname,vdir} /bin
111         mv -f /usr/bin/chroot /usr/sbin
112         ln -sf test /bin/[
113         ln -sf ../../bin/install /usr/bin
114         mv -f /bin/uname /bin/uname.bak
115         echo '#!/bin/bash'                              >  /bin/uname
116         echo '/bin/uname.bak $$* | sed 's/i.86/$(MACHINE)/g'' >> /bin/uname
117         chmod 755 /bin/uname
118 else
119         rm /tools/bin/hostname
120         mv -f /tools/bin/uname /tools/bin/uname.bak
121         echo '#!/bin/bash'                                      >  /tools/bin/uname
122         echo '/tools/bin/uname.bak $$* | sed 's/i.86/$(MACHINE)/g''     >> /tools/bin/uname
123         chmod 755 /tools/bin/uname
124 endif
125         @rm -rf $(DIR_APP)
126         @$(POSTBUILD)