2 # Copyright (C) 2006 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_BUILD_DIR
:=$(KERNEL_BUILD_DIR
)/$(PKG_NAME
)
17 REV
:=$(shell LANG
=C svn
info | awk
'/^Revision:/ { print$$2 }' )
22 include $(INCLUDE_DIR
)/package.mk
25 TARGET
:=-$(BOARD
)-$(KERNEL
)
26 UCLIBC_VERSION
:=${shell cat
$(STAGING_DIR
)/uclibc_version
2>/dev
/null
}
27 LIBGCC_VERSION
:=${shell cat
$(STAGING_DIR
)/gcc_version
2>/dev
/null
}
29 UCLIBC_VERSION
:=<UCLIBC_VERSION
>
30 LIBGCC_VERSION
:=<LIBGCC_VERSION
>
33 CONFIG_PACKAGE_base-files
$(TARGET
):=$(CONFIG_PACKAGE_base-files
)
35 define Package
/base-files
$(TARGET
)
38 TITLE
:=Base filesystem for OpenWrt
40 This package contains a base filesystem and system scripts for OpenWrt.
41 URL
:=http
://openwrt.org
/
42 VERSION
:=$(PKG_RELEASE
)-$(REV
)
45 define -ar7-2.4
/conffiles
49 define -aruba-2.6
/conffiles
53 define -au1000-2.6
/conffiles
57 define -rb532-2.6
/conffiles
61 define -sibyte-2.6
/conffiles
65 define -x86-2.6
/conffiles
69 define -xscale-2.6
/conffiles
73 define Package
/base-files
$(TARGET
)/conffiles
83 $(call
$(TARGET
)/conffiles
)
89 DEPENDS
:=@
!NATIVE_TOOLCHAIN
90 TITLE
:=GCC support library
91 URL
:=http
://gcc.gnu.org
/
92 VERSION
:=$(LIBGCC_VERSION
)-$(PKG_RELEASE
)
95 define Package
/libpthread
98 DEPENDS
:=@
!NATIVE_TOOLCHAIN
99 TITLE
:=POSIX thread library
100 URL
:=http
://uclibc.org
/
101 VERSION
:=$(UCLIBC_VERSION
)-$(PKG_RELEASE
)
104 define Package
/uclibc
106 CATEGORY
:=Base system
107 DEPENDS
:=@
!NATIVE_TOOLCHAIN
108 TITLE
:=C library embedded systems
109 URL
:=http
://uclibc.org
/
110 VERSION
:=$(UCLIBC_VERSION
)-$(PKG_RELEASE
)
114 mkdir
-p
$(PKG_BUILD_DIR
)
117 define Build
/Compile
/ar7
118 $(TARGET_CC
) -o
$(PKG_BUILD_DIR
)/adam2patcher src
/adam2patcher.c
121 define Build
/Compile
/brcm
122 $(TARGET_CC
) -I src
-o
$(PKG_BUILD_DIR
)/jffs2root src
/jffs2root.c
126 $(call Build
/Compile
/$(BOARD
))
130 define Package
/base-files
$(TARGET
)/install-ar7
132 $(CP
) $(PKG_BUILD_DIR
)/adam2patcher
$(1)/sbin
135 define Package
/base-files
$(TARGET
)/install-brcm
136 rm -f
$(1)/etc
/config
/network
138 $(CP
) $(PKG_BUILD_DIR
)/jffs2root
$(1)/sbin
141 define Package
/base-files
$(TARGET
)/install
142 $(CP
) .
/default
/* $(1)/
143 if
[ -d
$(BOARD
) ]; then \
144 $(CP
) $(BOARD
)/* $(1)/; \
146 if
[ -d
$(BOARD
)-$(KERNEL
) ]; then \
147 $(CP
) $(BOARD
)-$(KERNEL
)/* $(1)/; \
149 $(SED
) 's,$$$$R,r$(REV),g' $(1)/etc
/banner
150 $(SED
) 's,$$$$S,$(BOARD)-$(KERNEL),g' $(1)/etc
/ipkg.conf
152 mkdir
-p
$(1)/etc
/crontabs
158 mkdir
-p
$(1)/usr
/lib
159 mkdir
-p
$(1)/usr
/bin
162 ln
-sf
/proc
/mounts
$(1)/etc
/mtab
166 $(call Package
/base-files
$(TARGET
)/install-
$(BOARD
),$(1))
169 define Package
/libgcc
/install
170 install -m0755
-d
$(1)/lib
171 $(CP
) $(STAGING_DIR
)/lib
/libgcc_s.so.
* $(1)/lib
/
174 define Package
/libpthread
/install
175 install -m0755
-d
$(1)/lib
176 $(CP
) $(STAGING_DIR
)/lib
/libpthread.so.
* $(1)/lib
/
177 $(CP
) $(STAGING_DIR
)/lib
/libpthread-
$(UCLIBC_VERSION
).so
$(1)/lib
/
180 define Package
/uclibc
/install
181 install -m0755
-d
$(1)/lib
182 for file in ld-uClibc libc libcrypt libdl libm libnsl libresolv librt libuClibc libutil
; do \
183 $(CP
) $(STAGING_DIR
)/lib
/$$$$file.so.
* $(1)/lib
/; \
184 $(CP
) $(STAGING_DIR
)/lib
/$$$$file-$(UCLIBC_VERSION
).so
$(1)/lib
/; \
188 $(eval
$(call BuildPackage
,base-files
$(TARGET
)))
189 $(eval
$(call BuildPackage
,libgcc
))
190 $(eval
$(call BuildPackage
,libpthread
))
191 $(eval
$(call BuildPackage
,uclibc
))