CONFIG = package/config
noconfig_targets := menuconfig config oldconfig randconfig \
- defconfig allyesconfig allnoconfig clean distclean \
- release tags
+ defconfig allyesconfig allnoconfig release tags
# Pull in the user's configuration file
ifeq ($(filter $(noconfig_targets),$(MAKECMDGOALS)),)
# Cleanup and misc junk
#
#############################################################
-clean: $(TARGETS_CLEAN)
- rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE)
+clean:
+ rm -rf $(TARGET_DIR) $(IMAGE).*
+ $(MAKE) $(DIST)-image-clean
dirclean: $(TARGETS_DIRCLEAN)
- rm -rf $(STAGING_DIR) $(TARGET_DIR) $(IMAGE)
-
-distclean:
- rm -rf $(DL_DIR) $(BUILD_DIR) $(LINUX_KERNEL) $(IMAGE)
+ rm -rf $(TARGET_DIR) $(IMAGE).*
+ $(MAKE) $(DIST)-image-clean
-cleanall:
- rm -rf $(DL_DIR) $(BUILD_DIR) $(LINUX_KERNEL) $(IMAGE) $(TOOL_BUILD_DIR)
+distclean: clean
+ rm -rf $(DL_DIR) $(BUILD_DIR) $(TOOL_BUILD_DIR)
+ rm .config* .tmpconfig.h
sourceball:
rm -rf $(BUILD_DIR)
# Cleanup and misc junk
#
#############################################################
-clean:
- - $(MAKE) -C $(CONFIG) clean
+clean:
+ @$(MAKE) -C $(CONFIG) clean
distclean: clean
.PHONY: dummy subdirs release distclean clean config oldconfig \
menuconfig tags check test depend
-
--- /dev/null
+This is the buildsystem for the OpenWrt Linux Distribution
+It is a modified uClibc buildroot2.
+
+Please use "make menuconfig" to configure your appreciated
+configuration for the toolchain and firmware.
+
+Simply running 'make' will build your firmware and a tarball
+of kernel modules. It will download all sources, build the
+cross-compile toolchain, the kernel and all choosen applications.
+
+You can use flash.sh for remotely updating your embedded system
+via tftp.
+
+
+There are some cleanup targets we would like to explain.
+"make clean" will only clean the firmware images and the root
+filesystem. "make dirclean" will remove the extracted kernel source
+and all exctracted software. (busybox,bridge-utils,..), but will
+preserve your toolchain. (compiler,linker,..)
+"make distclean" will remove everything, including the toolchain,
+all downloaded source code archives and your firmware configuration.
+You can cleanup separate directories by using "make application-dirclean"
+and rebuild the firmware with "make".
+
+Be happy..
+ Your OpenWRT Project
+ http://www.openwrt.org
+
+
# CONFIG_HIGHMEM is not set
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
-CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=squashfs init=/etc/preinit noinitrd console=ttyS0,115200"
+CONFIG_CMDLINE="root=/dev/mtdblock2 rootfstype=jffs2 init=/etc/preinit noinitrd console=ttyS0,115200"
CONFIG_PCI=y
CONFIG_NONCOHERENT_IO=y
CONFIG_NEW_TIME_C=y
$(LINUX_DIR)/.configured: $(LINUX_DIR)/.patched
-cp $(LINUX_KCONFIG) $(LINUX_DIR)/.config
+ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS_LZMA),y)
+ $(SED) "s,rootfstype=jffs2,rootfstype=squashfs," $(LINUX_DIR)/.config
+endif
+ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS),y)
+ $(SED) "s,rootfstype=jffs2,rootfstype=squashfs," $(LINUX_DIR)/.config
+endif
$(SED) "s,^CROSS_COMPILE.*,CROSS_COMPILE=$(KERNEL_CROSS),g;" $(LINUX_DIR)/Makefile
$(SED) "s,^CROSS_COMPILE.*,CROSS_COMPILE=$(KERNEL_CROSS),g;" $(LINUX_DIR)/arch/mips/Makefile
$(SED) "s,\-mcpu=,\-mtune=,g;" $(LINUX_DIR)/arch/mips/Makefile
host-sed: $(HOST_SED_TARGET)
host-sed-clean:
- $(MAKE) DESTDIR=$(STAGING_DIR) -C $(SED_DIR1) uninstall
-$(MAKE) -C $(SED_DIR1) clean
host-sed-dirclean:
sed: uclibc sed-target_binary
sed-clean:
- $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(SED_DIR2) uninstall
-$(MAKE) -C $(SED_DIR2) clean
sed-dirclean:
# Default target skeleton stuff, may be overridden
+DIST=openwrt
TARGET_SKELETON=target/default/skel.tar.gz
TARGET_SKEL_DIR=target/default/target_skeleton
include target/device/Makefile.in
-openwrt-linux.trx: openwrt-trx
- PATH=$(TARGET_PATH) trx -o openwrt-linux.trx $(LINUX_DIR)/$(LINUX_BINLOC) $(IMAGE).$(ROOTFS)
+$(DIST)-linux.trx: openwrt-trx
+ PATH=$(TARGET_PATH) trx -o $(DIST)-linux.trx $(LINUX_DIR)/$(LINUX_BINLOC) $(IMAGE).$(ROOTFS)
-openwrt-gs-code.bin: openwrt-addpattern openwrt-linux.trx
- PATH=$(TARGET_PATH) addpattern -2 -i openwrt-linux.trx -o openwrt-gs-code.bin -g
+$(DIST)-gs-code.bin: openwrt-addpattern $(DIST)-linux.trx
+ PATH=$(TARGET_PATH) addpattern -2 -i $(DIST)-linux.trx -o $(DIST)-gs-code.bin -g
-openwrt-g-code.bin: openwrt-gs-code.bin
- sed -e "1s,^W54S,W54G," < openwrt-gs-code.bin > openwrt-g-code.bin
+$(DIST)-g-code.bin: $(DIST)-gs-code.bin
+ sed -e "1s,^W54S,W54G," < $(DIST)-gs-code.bin > $(DIST)-g-code.bin
-openwrt-image: openwrt openwrt-g-code.bin
+openwrt-image: openwrt $(DIST)-g-code.bin
+$(DIST)-image-clean:
+ @-rm $(DIST)-* 2>/dev/null
rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
-$(MAKE) -C $(BINUTILS_DIR1) clean
-binutils-dirclean:
+binutils-toolclean:
rm -rf $(BINUTILS_DIR1)
rm -f $(TARGET_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
-$(MAKE) -C $(BINUTILS_DIR2) clean
-binutils_target-dirclean:
+binutils_target-toolclean:
rm -rf $(BINUTILS_DIR2)
$(MAKE) -C $(CCACHE_DIR1) uninstall
-$(MAKE) -C $(CCACHE_DIR1) clean
-ccache-dirclean:
+ccache-toolclean:
rm -rf $(CCACHE_DIR1)
rm -f $(TARGET_DIR)/$(CCACHE_TARGET_BINARY)
-$(MAKE) -C $(CCACHE_DIR2) clean
-ccache_target-dirclean:
+ccache_target-toolclean:
rm -rf $(CCACHE_DIR2)
rm -rf $(GCC_BUILD_DIR1)
rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
-gcc_initial-dirclean:
+gcc_initial-toolclean:
rm -rf $(GCC_BUILD_DIR1)
#############################################################
rm -rf $(GCC_BUILD_DIR2)
rm -f $(STAGING_DIR)/bin/$(REAL_GNU_TARGET_NAME)*
-gcc-dirclean:
+gcc-toolclean:
rm -rf $(GCC_BUILD_DIR2)
#############################################################
rm -rf $(GCC_BUILD_DIR3)
rm -f $(TARGET_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)*
-gcc_target-dirclean:
+gcc_target-toolclean:
rm -rf $(GCC_BUILD_DIR3)
endif
kernel-headers-clean: clean
rm -rf $(LINUX_HEADERS_DIR)
-kernel-headers-dirclean:
+kernel-headers-toolclean:
rm -rf $(LINUX_HEADERS_DIR)
-$(MAKE1) -C $(UCLIBC_DIR) clean
rm -f $(UCLIBC_DIR)/.config
-uclibc-dirclean:
+uclibc-toolclean:
rm -rf $(UCLIBC_DIR)
uclibc-target-utils: $(TARGET_DIR)/usr/bin/ldd