2 # Copyright (C) 2007 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
9 include $(TOPDIR
)/rules.mk
10 include $(INCLUDE_DIR
)/kernel.mk
15 PKG_FILE_DEPEND
:=$(PLATFORM_DIR
)/ $(GENERIC_PLATFORM_DIR
)/base-files
/
17 REV
:=$(shell LANG
=C svn
info | awk
'/^Revision:/ { print$$2 }' )
21 include $(INCLUDE_DIR
)/package.mk
24 TARGET
:=-$(BOARD
)-$(KERNEL
)
25 LIBGCC_VERSION
:=$(GCC_VERSION
)
27 UCLIBC_VERSION
:=<UCLIBC_VERSION
>
28 LIBGCC_VERSION
:=<LIBGCC_VERSION
>
31 CONFIG_PACKAGE_base-files
$(TARGET
):=$(CONFIG_PACKAGE_base-files
)
33 define Package
/base-files
$(TARGET
)
36 TITLE
:=Base filesystem for OpenWrt
37 URL
:=http
://openwrt.org
/
38 VERSION
:=$(PKG_RELEASE
)-$(REV
)
39 $(call Config
,network.lan.proto
,string
,static
,LAN Protocol
)
40 $(call Config
,network.lan.ipaddr
,ip
,192.168.1.1,LAN IP Address
)
41 $(call Config
,network.lan.netmask
,netmask
,255.255.255.0,LAN Network Mask
)
42 $(call Config
,network.lan.gateway
,ip
,,LAN Gateway
)
43 $(call Config
,network.lan.dns
,ip
,,LAN DNS server
)
46 define Package
/base-files
$(TARGET
)/conffiles
56 $(call
$(TARGET
)/conffiles
)
59 define Package
/base-files
$(TARGET
)/description
60 This package contains a base filesystem and system scripts for OpenWrt.
63 define Package
/gcc
/Default
66 DEPENDS
:=@
!NATIVE_TOOLCHAIN
67 URL
:=http
://gcc.gnu.org
/
68 VERSION
:=$(LIBGCC_VERSION
)-$(PKG_RELEASE
)
72 $(call Package
/gcc
/Default
)
73 TITLE
:=GCC support library
74 DEPENDS
:=@
!TARGET_avr32 @
!NATIVE_TOOLCHAIN
78 $(call Package
/gcc
/Default
)
79 TITLE
:=GCC support library
82 define Package
/libstdcpp
83 $(call Package
/gcc
/Default
)
85 TITLE
:=GNU Standard C
++ Library v3
86 DEPENDS
:=@
!NATIVE_TOOLCHAIN
&&@INSTALL_LIBSTDCPP
89 define Package
/uclibc
/Default
92 DEPENDS
:=@
!NATIVE_TOOLCHAIN
93 URL
:=http
://uclibc.org
/
94 VERSION
:=$(UCLIBC_VERSION
)$(UCLIBC_PATCHVER
)-$(PKG_RELEASE
)
97 define Package
/libpthread
98 $(call Package
/uclibc
/Default
)
99 TITLE
:=POSIX thread library
102 define Package
/uclibc
103 $(call Package
/uclibc
/Default
)
104 TITLE
:=C library embedded systems
108 $(call Package
/uclibc
/Default
)
109 TITLE
:=LDD trace utility
112 define Package
/ldconfig
113 $(call Package
/uclibc
/Default
)
114 TITLE
:=Shared library path configuration
118 mkdir
-p
$(PKG_BUILD_DIR
)
121 define Build
/Compile
/Default
125 $(call Build
/Compile
/Default
)
128 define Package
/base-files
$(TARGET
)/install
129 $(CP
) .
/files
/* $(1)/
130 if
[ -d
$(GENERIC_PLATFORM_DIR
)/base-files
/.
]; then \
131 $(CP
) $(GENERIC_PLATFORM_DIR
)/base-files
/* $(1)/; \
133 if
[ -d
$(PLATFORM_DIR
)/base-files
/.
]; then \
134 $(CP
) $(PLATFORM_DIR
)/base-files
/* $(1)/; \
136 $(if
$(filter-out $(PLATFORM_DIR
),$(PLATFORM_SUBDIR
)), \
137 if
[ -d
$(PLATFORM_SUBDIR
)/base-files
/.
]; then \
138 $(CP
) $(PLATFORM_SUBDIR
)/base-files
/* $(1)/; \
141 $(SED
) 's,$$$$R,r$(REV),g' $(1)/etc
/banner
142 $(SED
) 's,$$$$S,$(BOARD),g' -e
's,$$$$A,$(ARCH),g' $(1)/etc
/ipkg.conf
144 mkdir
-p
$(1)/etc
/crontabs
146 mkdir
-p
$(1)/lib
/firmware
150 mkdir
-p
$(1)/usr
/lib
151 mkdir
-p
$(1)/usr
/bin
155 ln
-sf
/proc
/mounts
$(1)/etc
/mtab
159 ln
-sf
/tmp
/resolv.conf
$(1)/etc
/resolv.conf
160 $(call Package
/base-files
/install-target
,$(1))
161 for conffile in
$(1)/etc
/config
/*; do \
162 if
[ -f
"$$$$conffile" ]; then \
163 grep
"$$$$conffile" $(1)/CONTROL
/conffiles || \
164 echo
"$$$${conffile##$(1)}" >> $(1)/CONTROL
/conffiles
; \
169 define Package
/libgcc
/install
170 $(INSTALL_DIR
) $(1)/lib
171 $(CP
) $(TOOLCHAIN_DIR
)/lib
/libgcc_s.so.
* $(1)/lib
/
174 ifeq ($(word 1,$(subst .
, ,$(LIBGCC_VERSION
))),4)
175 define Package
/libssp
/install
176 $(INSTALL_DIR
) $(1)/lib
177 $(CP
) $(TOOLCHAIN_DIR
)/lib
/libssp.so.
* $(1)/lib
/
181 define Package
/libstdcpp
/install
182 $(INSTALL_DIR
) $(1)/lib
183 $(CP
) $(TOOLCHAIN_DIR
)/lib
/libstdc
++.so.
* $(1)/lib
/
186 define Package
/libpthread
/install
187 $(INSTALL_DIR
) $(1)/lib
188 $(CP
) $(TOOLCHAIN_DIR
)/lib
/libpthread.so.
* $(1)/lib
/
189 $(CP
) $(TOOLCHAIN_DIR
)/lib
/libpthread-
$(UCLIBC_VERSION
).so
$(1)/lib
/
192 define Package
/uclibc
/install
193 $(INSTALL_DIR
) $(1)/lib
194 for file in ld-uClibc libc libcrypt libdl libm libnsl libresolv librt libuClibc libutil
; do \
195 $(CP
) $(TOOLCHAIN_DIR
)/lib
/$$$$file.so.
* $(1)/lib
/; \
196 $(CP
) $(TOOLCHAIN_DIR
)/lib
/$$$$file-$(UCLIBC_VERSION
).so
$(1)/lib
/; \
200 define Package
/ldd
/install
201 $(INSTALL_DIR
) $(1)/bin
/
202 $(CP
) $(TOOLCHAIN_DIR
)/target-utils
/ldd
$(1)/bin
/
205 define Package
/ldconfig
/install
206 $(INSTALL_DIR
) $(1)/bin
/
207 $(CP
) $(TOOLCHAIN_DIR
)/target-utils
/ldconfig
$(1)/bin
/
211 -include $(PLATFORM_DIR
)/base-files.mk
214 $(eval
$(call BuildPackage
,base-files
$(TARGET
)))
215 $(eval
$(call BuildPackage
,libgcc
))
216 $(eval
$(call BuildPackage
,libssp
))
217 $(eval
$(call BuildPackage
,libstdcpp
))
218 $(eval
$(call BuildPackage
,libpthread
))
219 $(eval
$(call BuildPackage
,uclibc
))
220 $(eval
$(call BuildPackage
,ldd
))
221 $(eval
$(call BuildPackage
,ldconfig
))