ar8216: move definitions from ar8216.c to ar8216.h and introduce ar8327.h
[openwrt.git] / toolchain / uClibc / Makefile
index c9c9788..a5fb54b 100644 (file)
@@ -1,9 +1,41 @@
-include $(TOPDIR)/rules.mk
+PATH_PREFIX=.
 
-include ./uclibc.mk
+include ./common.mk
 
-source: uclibc-source
-prepare: uclibc-configured
-compile: $(UCLIBC_DIR)/lib/libc.a
-install: uclibc
-clean: uclibc-toolclean
+HOST_STAMP_BUILT:=$(HOST_BUILD_DIR)/.built
+HOST_STAMP_INSTALLED:=$(TOOLCHAIN_DIR)/stamp/.uclibc_installed
+
+HOST_BUILD_PARALLEL:=1
+
+define Host/SetToolchainInfo
+       $(SED) 's,^\(LIBC_TYPE\)=.*,\1=$(PKG_NAME),' $(TOOLCHAIN_DIR)/info.mk
+       $(SED) 's,^\(LIBC_URL\)=.*,\1=http://www.uclibc.org/,' $(TOOLCHAIN_DIR)/info.mk
+       $(SED) 's,^\(LIBC_VERSION\)=.*,\1=$(PKG_VERSION),' $(TOOLCHAIN_DIR)/info.mk
+       $(SED) 's,^\(LIBC_SO_VERSION\)=.*,\1=$(LIBC_SO_VERSION),' $(TOOLCHAIN_DIR)/info.mk
+endef
+
+define Host/Compile
+       $(SED) 's,^CROSS=.*,CROSS=$(TARGET_CROSS),g' $(HOST_BUILD_DIR)/Rules.mak
+       $(UCLIBC_MAKE) PREFIX= all
+endef
+
+define Host/Install
+       $(call Host/SetToolchainInfo)
+       $(UCLIBC_MAKE) PREFIX="$(TOOLCHAIN_DIR)/" install_runtime install_dev
+       $(CP) $(HOST_BUILD_DIR)/libc/libc_so.a $(TOOLCHAIN_DIR)/lib/
+       $(CP) $(HOST_BUILD_DIR)/libpthread/*/libpthread_so.a $(TOOLCHAIN_DIR)/lib/
+       ( cd $(TOOLCHAIN_DIR) ; \
+               for d in lib usr/lib ; do \
+                 for f in libc.so libpthread.so libgcc_s.so ; do \
+                   if [ -f $$$$d/$$$$f -a ! -L $$$$d/$$$$f ] ; then \
+                     $(SED) 's,/usr/lib/,,g;s,/lib/,,g' $$$$d/$$$$f ; \
+                   fi \
+                 done \
+               done \
+       )
+       rm -f \
+               $(TOOLCHAIN_DIR)/lib/libresolv*.so* \
+               $(TOOLCHAIN_DIR)/lib/libnsl*.so*
+endef
+
+$(eval $(call HostBuild))