diff --git a/package/Makefile b/package/Makefile index 7df1c594d..45998e997 100644 --- a/package/Makefile +++ b/package/Makefile @@ -281,7 +281,10 @@ endif sdk-compile: $(DEV_LIBS_COMPILE) $(SDK_DEFAULT_COMPILE) openwrt-install -%-prepare: +$(STAMP_DIR): + mkdir -p $@ + +%-prepare: $(STAMP_DIR) @[ -f $(STAMP_DIR)/.$@ ] || $(MAKE) -C $(patsubst %-prepare,%,$@) prepare @touch $(STAMP_DIR)/.$@ diff --git a/package/base-files/Makefile b/package/base-files/Makefile index fbd7b9e44..c8f8f6719 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -18,10 +18,11 @@ IPKG_GCC:=$(PACKAGE_DIR)/libgcc_$(GCC_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk PACKAGES:=$(IPKG_BASE) $(IPKG_LIBC) $(IPKG_GCC) +$(PACKAGES): $(PACKAGE_DIR) $(PACKAGE_DIR): - mkdir -p $(PACKAGE_DIR) + mkdir -p $@ -$(IPKG_BASE): $(PACKAGE_DIR) +$(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 @@ -40,7 +41,7 @@ $(IPKG_BASE): $(PACKAGE_DIR) -grep \^BR2_SYSCONF $(TOPDIR)/.config > $(IDIR_BASE)/etc/sysconf $(IPKG_BUILD) $(IDIR_BASE) $(PACKAGE_DIR) -$(IPKG_LIBC): $(PACKAGE_DIR) +$(IPKG_LIBC): $(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/ @@ -50,7 +51,7 @@ $(IPKG_LIBC): $(PACKAGE_DIR) -$(STRIP) $(IDIR_LIBC)/lib/* $(IPKG_BUILD) $(IDIR_LIBC) $(PACKAGE_DIR) -$(IPKG_GCC): $(PACKAGE_DIR) +$(IPKG_GCC): $(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/ @@ -62,3 +63,5 @@ compile: $(PACKAGES) install: compile mkdir -p $(TARGET_DIR) $(IPKG) install $(PACKAGES) +clean: + rm -rf $(IDIR_BASE) $(IDIR_LIBC) $(IDIR_GCC) diff --git a/package/base-files/ipkg/base-files.control b/package/base-files/ipkg/base-files.control new file mode 100644 index 000000000..acaa6c5db --- /dev/null +++ b/package/base-files/ipkg/base-files.control @@ -0,0 +1,6 @@ +Package: base-files +Priority: optional +Section: net +Maintainer: Felix Fietkau +Source: buildroot internal +Description: OpenWrt filesystem structure and scripts diff --git a/package/base-files/ipkg/libgcc.control b/package/base-files/ipkg/libgcc.control new file mode 100644 index 000000000..141d88cca --- /dev/null +++ b/package/base-files/ipkg/libgcc.control @@ -0,0 +1,7 @@ +Package: libgcc +Priority: optional +Section: net +Maintainer: Felix Fietkau +Source: buildroot internal +Depends: base-files +Description: GCC support library diff --git a/package/base-files/ipkg/uclibc.control b/package/base-files/ipkg/uclibc.control new file mode 100644 index 000000000..360a3b5fe --- /dev/null +++ b/package/base-files/ipkg/uclibc.control @@ -0,0 +1,7 @@ +Package: uclibc +Priority: optional +Section: net +Maintainer: Felix Fietkau +Source: buildroot internal +Depends: base-files, libgcc +Description: Standard C library for embedded Linux systems