next round of build system cleanup - convert package/ to new structure
[openwrt.org/openwrt.git] / Makefile
blob:a/Makefile -> blob:b/Makefile
# Makefile for OpenWrt # Makefile for OpenWrt
# #
# Copyright (C) 2007 OpenWrt.org # Copyright (C) 2007 OpenWrt.org
# #
# This is free software, licensed under the GNU General Public License v2. # This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information. # See /LICENSE for more information.
# #
   
all: world  
   
TOPDIR:=${CURDIR} TOPDIR:=${CURDIR}
LC_ALL:=C LC_ALL:=C
LANG:=C LANG:=C
IS_TTY:=${shell tty -s && echo 1 || echo 0} IS_TTY:=${shell tty -s && echo 1 || echo 0}
export TOPDIR LC_ALL LANG IS_TTY export TOPDIR LC_ALL LANG IS_TTY
   
  world:
   
  include $(TOPDIR)/include/debug.mk
  include $(TOPDIR)/include/host.mk
   
ifneq ($(OPENWRT_BUILD),1) ifneq ($(OPENWRT_BUILD),1)
export OPENWRT_BUILD:=1 override OPENWRT_BUILD=1
  export OPENWRT_BUILD
include $(TOPDIR)/include/toplevel.mk include $(TOPDIR)/include/toplevel.mk
else else
include $(TOPDIR)/include/host.mk  
   
include rules.mk include rules.mk
include $(INCLUDE_DIR)/depends.mk include $(INCLUDE_DIR)/depends.mk
include $(INCLUDE_DIR)/subdir.mk include $(INCLUDE_DIR)/subdir.mk
  include package/Makefile
include tools/Makefile include tools/Makefile
include toolchain/Makefile include toolchain/Makefile
   
clean: FORCE clean: FORCE
rm -rf build_* bin tmp rm -rf build_* bin tmp
   
dirclean: clean dirclean: clean
rm -rf staging_dir_* toolchain_build_* tool_build rm -rf staging_dir_* toolchain_build_* tool_build
   
distclean: dirclean config-clean symlinkclean docs/clean distclean: dirclean config-clean symlinkclean docs/clean
rm -rf dl rm -rf dl
   
package/% target/%: FORCE target/%: FORCE
$(MAKE) -C $(patsubst %/$*,%,$@) $* $(MAKE) -C $(patsubst %/$*,%,$@) $*
   
world: .config $(tools/stamp) $(toolchain/stamp) FORCE # check prerequisites before starting to build
  prereq: tmp/.prereq-target $(package/stamp-prereq) ;
   
  world: .config $(tools/stamp-install) $(toolchain/stamp-install) FORCE
$(MAKE) target/compile $(MAKE) target/compile
$(MAKE) package/compile $(MAKE) package/compile
$(MAKE) package/install $(MAKE) package/install
$(MAKE) target/install $(MAKE) target/install
$(MAKE) package/index $(MAKE) package/index
   
  package/symlinks:
  $(SCRIPT_DIR)/feeds.sh $(CONFIG_SOURCE_FEEDS) $(CONFIG_SOURCE_FEEDS_REV)
   
  # FIXME: remove after converting target/ to new structure
  tmp/.prereq-target: tmp/.targetinfo .config
  tmp/.prereq-target: include/prereq.mk
  mkdir -p tmp
  rm -f tmp/.host.mk
  @+$(NO_TRACE_MAKE) -s -C target prereq 2>/dev/null || { \
  echo "Prerequisite check failed. Use FORCE=1 to override."; \
  false; \
  }
  touch $@
  .SILENT: tmp/.prereq-target
   
endif endif
   
comments