summaryrefslogtreecommitdiff
path: root/package/base-files/Makefile
blob: 2637949699ff7110fa4af4a0691287f06ac1bdff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# $Id$

include $(TOPDIR)/rules.mk

PKG_NAME:=base-files
PKG_RELEASE:=7
PKG_BUILD_DIR:=$(BUILD_DIR)/base-files

BOARD:=$(shell LANG=C grep ^CONFIG_LINUX_2_._ $(TOPDIR)/.config|sed -e "s/=y//" \
	-e "s/.*_//"| tr "[:upper:]" "[:lower:]")
KERNEL:=$(shell LANG=C grep ^CONFIG_LINUX_2_._ $(TOPDIR)/.config|sed -e "s/=y//" \
	-e "s/CONFIG_LINUX_//" -e "s/_BRCM//" -e "s/_/./"| tr "[:upper:]" "[:lower:]")

REV:=$(shell LANG=C svn info | awk '/^Revision:/ { print$$2 }' )
ifeq ($(REV),)
REV:=0
endif

include $(TOPDIR)/package/rules.mk

#FIXME: use the version from ./toolchain/uclibc
UCLIBC_VERSION:=0.9.28
LIBGCC_VERSION:=$(CONFIG_GCC_VERSION)

define Package/base-files
 SECTION:=base
 CATEGORY:=Base system
 DEFAULT:=y
 TITLE:=OpenWrt system scripts
 DESCRIPTION:=OpenWrt system scripts
endef

define Package/libgcc
 SECTION:=libs
 CATEGORY:=Libraries
 DEFAULT:=m, y if GCC_VERSION_4_0_2 || GCC_VERSION_4_0_3 || GCC_VERSION_4_1_0
 TITLE:=GCC support library
 VERSION:=$(LIBGCC_VERSION)-$(PKG_RELEASE)
 DESCRIPTION:=$(TITLE)
endef

define Package/uclibc
 $(call Package/base-files)
 VERSION:=$(UCLIBC_VERSION)-$(PKG_RELEASE)
 TITLE:=C library
 DESCRIPTION:=C library for embedded systems
endef


define Build/Prepare
	mkdir -p $(PKG_BUILD_DIR)
endef

define Build/Compile
endef

define Package/base-files/install
	$(CP) ./default/* $(1)
	$(SED) 's,$$$$R,r$(REV),g' $(1)/etc/banner
	$(SED) 's,$$$$S,$(BOARD)-$(KERNEL),g' $(1)/etc/ipkg.conf
	mkdir -p $(1)/dev
	mkdir -p $(1)/etc/crontabs
	mkdir -p $(1)/jffs
	mkdir -p $(1)/lib
	mkdir -p $(1)/mnt
	mkdir -p $(1)/proc
	mkdir -p $(1)/tmp
	mkdir -p $(1)/usr/lib
	mkdir -p $(1)/usr/bin
	mkdir -p $(1)/sys
	mkdir -p $(1)/www
	ln -sf /tmp/resolv.conf $(1)/etc/resolv.conf
	ln -sf /proc/mounts $(1)/etc/mtab
	rm -f $(1)/var
	ln -sf /tmp $(1)/var
	-find $(1) -type d -name CVS | xargs rm -rf
	-find $(1) -type d -name .svn | xargs rm -rf
	-find $(1) -name '.#*' | xargs rm -f
	mkdir -p $(1)/etc
endef

define Package/uclibc/install
	mkdir -p $(1)/lib
	for file in ld-uClibc libc libcrypt libdl libm libnsl libresolv librt libuClibc libutil; do \
		$(CP) $(STAGING_DIR)/lib/$$$$file.so.* $(1)/lib/; \
		$(CP) $(STAGING_DIR)/lib/$$$$file-$(UCLIBC_VERSION).so $(1)/lib/; \
	done
endef

define Package/libgcc/install
	mkdir -p $(1)/lib
	$(CP) $(STAGING_DIR)/lib/libgcc_s.so.* $(1)/lib/
endef

$(eval $(call BuildPackage,base-files))
$(eval $(call BuildPackage,libgcc))
$(eval $(call BuildPackage,uclibc))