X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/3d007394805916ceb2214bfd7e06d8a4899262c5..727d7e416d3e8040e61f20295fcab7d3e98c6b86:/openwrt/package/base-files/Makefile diff --git a/openwrt/package/base-files/Makefile b/openwrt/package/base-files/Makefile index fbd7b9e44..8517dcc68 100644 --- a/openwrt/package/base-files/Makefile +++ b/openwrt/package/base-files/Makefile @@ -3,62 +3,102 @@ include $(TOPDIR)/rules.mk PKG_NAME:=base-files -PKG_RELEASE:=1 +PKG_RELEASE:=6 +PKG_BUILD_DIR:=$(BUILD_DIR)/base-files -IDIR_BASE:=$(BUILD_DIR)/base-files +BOARD:=$(shell LANG=C grep ^BR2_LINUX_2 $(TOPDIR)/.config|sed -e "s/=y//" \ + -e "s/.*_//"| tr "[:upper:]" "[:lower:]") +KERNEL:=$(shell LANG=C grep ^BR2_LINUX_2 $(TOPDIR)/.config|sed -e "s/=y//" \ + -e "s/BR2_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 + +IDIR_BASE:=$(PKG_BUILD_DIR)/base-files IPKG_BASE:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_RELEASE)_$(ARCH).ipk -LIBC_VERSION:=${shell cat $(STAGING_DIR)/uclibc_version} -IDIR_LIBC:=$(BUILD_DIR)/uclibc -IPKG_LIBC:=$(PACKAGE_DIR)/uclibc_$(LIBC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk +UCLIBC_VERSION:=${shell cat $(STAGING_DIR)/uclibc_version} +IDIR_UCLIBC:=$(PKG_BUILD_DIR)/uclibc +IPKG_UCLIBC:=$(PACKAGE_DIR)/uclibc_$(UCLIBC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk + +LIBGCC_VERSION:=${shell cat $(STAGING_DIR)/gcc_version} +IDIR_LIBGCC:=$(PKG_BUILD_DIR)/libgcc +IPKG_LIBGCC:=$(PACKAGE_DIR)/libgcc_$(LIBGCC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk + +PACKAGES:=$(IPKG_BASE) $(IPKG_UCLIBC) +PACKAGES_INSTALL:=$(IPKG_BASE) $(IPKG_UCLIBC) -GCC_VERSION:=${shell cat $(STAGING_DIR)/gcc_version} -IDIR_GCC:=$(BUILD_DIR)/libgcc -IPKG_GCC:=$(PACKAGE_DIR)/libgcc_$(GCC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk +ifeq ($(BR2_PACKAGE_LIBGCC),y) +PACKAGES+=$(IPKG_LIBGCC) +PACKAGES_INSTALL+=$(IPKG_LIBGCC) +endif +ifeq ($(BR2_PACKAGE_LIBGCC),m) +PACKAGES+=$(IPKG_LIBGCC) +endif -PACKAGES:=$(IPKG_BASE) $(IPKG_LIBC) $(IPKG_GCC) +$(PKG_BUILD_DIR)/.prepared: + mkdir -p $(PKG_BUILD_DIR) $(PACKAGE_DIR) + touch $@ -$(PACKAGE_DIR): - mkdir -p $(PACKAGE_DIR) +$(PKG_BUILD_DIR)/.configured: + touch $@ -$(IPKG_BASE): $(PACKAGE_DIR) +$(PKG_BUILD_DIR)/.built: + touch $@ + +$(IPKG_BASE): $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_BASE) ipkg/$(PKG_NAME).control $(PKG_RELEASE) $(ARCH) - cp -a ./default/* $(IDIR_BASE) - mkdir -p $(IDIR_BASE)/jffs + $(CP) ./default/* $(IDIR_BASE) + $(SED) 's,$$R,r$(REV),g' $(IDIR_BASE)/etc/banner + $(SED) 's,$$S,$(BOARD)-$(KERNEL),g' $(IDIR_BASE)/etc/ipkg.conf mkdir -p $(IDIR_BASE)/dev + mkdir -p $(IDIR_BASE)/etc/crontabs + mkdir -p $(IDIR_BASE)/jffs + mkdir -p $(IDIR_BASE)/lib + mkdir -p $(IDIR_BASE)/mnt mkdir -p $(IDIR_BASE)/proc mkdir -p $(IDIR_BASE)/tmp - mkdir -p $(IDIR_BASE)/lib mkdir -p $(IDIR_BASE)/usr/lib mkdir -p $(IDIR_BASE)/usr/bin + mkdir -p $(IDIR_BASE)/sys + mkdir -p $(IDIR_BASE)/www ln -sf /tmp/resolv.conf $(IDIR_BASE)/etc/resolv.conf - rm -rf $(IDIR_BASE)/var + ln -sf /proc/mounts $(IDIR_BASE)/etc/mtab + rm -f $(IDIR_BASE)/var ln -sf /tmp $(IDIR_BASE)/var -find $(IDIR_BASE) -type d -name CVS | xargs rm -rf -find $(IDIR_BASE) -type d -name .svn | xargs rm -rf + -find $(IDIR_BASE) -name '.#*' | xargs rm -f mkdir -p $(IDIR_BASE)/etc - -grep \^BR2_SYSCONF $(TOPDIR)/.config > $(IDIR_BASE)/etc/sysconf $(IPKG_BUILD) $(IDIR_BASE) $(PACKAGE_DIR) -$(IPKG_LIBC): $(PACKAGE_DIR) - $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_LIBC) ipkg/uclibc.control $(LIBC_VERSION)-$(PKG_RELEASE) $(ARCH) - mkdir -p $(IDIR_LIBC)/lib - cp -a $(STAGING_DIR)/lib/ld-uClibc*.so* $(IDIR_LIBC)/lib/ - for file in c crypt dl m nsl resolv rt uClibc util; do \ - cp -a $(STAGING_DIR)/lib/lib$$file*.so* $(IDIR_LIBC)/lib/; \ +$(IPKG_UCLIBC): + $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_UCLIBC) ipkg/uclibc.control $(UCLIBC_VERSION)-$(PKG_RELEASE) $(ARCH) + mkdir -p $(IDIR_UCLIBC)/lib + for file in ld-uClibc libc libcrypt libdl libm libnsl libresolv librt libuClibc libutil; do \ + $(CP) $(STAGING_DIR)/lib/$$file.so.* $(IDIR_UCLIBC)/lib/; \ + $(CP) $(STAGING_DIR)/lib/$$file-$(UCLIBC_VERSION).so $(IDIR_UCLIBC)/lib/; \ done - -$(STRIP) $(IDIR_LIBC)/lib/* - $(IPKG_BUILD) $(IDIR_LIBC) $(PACKAGE_DIR) + -$(STRIP) $(IDIR_UCLIBC)/lib/* + $(IPKG_BUILD) $(IDIR_UCLIBC) $(PACKAGE_DIR) -$(IPKG_GCC): $(PACKAGE_DIR) - $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_GCC) ipkg/libgcc.control $(GCC_VERSION)-$(PKG_RELEASE) $(ARCH) - mkdir -p $(IDIR_GCC)/lib - cp -a $(STAGING_DIR)/lib/libgcc*.so* $(IDIR_GCC)/lib/ - -$(STRIP) $(IDIR_GCC)/lib/* - $(IPKG_BUILD) $(IDIR_GCC) $(PACKAGE_DIR) +$(IPKG_LIBGCC): + $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_LIBGCC) ipkg/libgcc.control $(LIBGCC_VERSION)-$(PKG_RELEASE) $(ARCH) + mkdir -p $(IDIR_LIBGCC)/lib + $(CP) $(STAGING_DIR)/lib/libgcc_s.so.* $(IDIR_LIBGCC)/lib/ + -$(STRIP) $(IDIR_LIBGCC)/lib/* + $(IPKG_BUILD) $(IDIR_LIBGCC) $(PACKAGE_DIR) +package-clean: + rm -f $(PACKAGES) + +clean-targets: package-clean prepare: -compile: $(PACKAGES) -install: compile +compile-targets: $(PACKAGES) +install-targets: compile mkdir -p $(TARGET_DIR) - $(IPKG) install $(PACKAGES) + $(IPKG) install $(PACKAGES_INSTALL)