diff options
Diffstat (limited to 'target/sdk/files/Makefile.sdk')
-rw-r--r-- | target/sdk/files/Makefile.sdk | 86 |
1 files changed, 55 insertions, 31 deletions
diff --git a/target/sdk/files/Makefile.sdk b/target/sdk/files/Makefile.sdk index 6d5f61ad11..50723232bc 100644 --- a/target/sdk/files/Makefile.sdk +++ b/target/sdk/files/Makefile.sdk @@ -1,42 +1,66 @@ -# OpenWrt SDK Makefile -TOPDIR:=${shell pwd} +# Makefile for OpenWrt +# +# Copyright (C) 2006 by Felix Fietkau <openwrt@nbd.name> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +RELEASE:=Kamikaze +#VERSION:=2.0 # uncomment for final release + +#-------------------------------------------------------------- +# Just run 'make menuconfig', configure stuff, then run 'make'. +# You shouldn't need to mess with anything beyond this point... +#-------------------------------------------------------------- +TOPDIR=${shell pwd} export TOPDIR -DEVELOPER:=1 -export DEVELOPER -include $(TOPDIR)/rules.mk -include $(TOPDIR)/package/depend.mk +include $(TOPDIR)/.version.mk +export OPENWRTVERSION -PACKAGES:=$(filter-out %.mk,$(shell ls $(TOPDIR)/package)) -PACKAGES_PREPARE:=$(foreach package,$(PACKAGES),$(package)-prepare) -PACKAGES_COMPILE:=$(foreach package,$(PACKAGES),$(package)-compile) -PACKAGES_CLEAN:=$(foreach package,$(PACKAGES),$(package)-clean) +DEVELOPER=1 +export DEVELOPER -all: compile package_index -compile: $(PACKAGES_COMPILE) -clean: $(PACKAGES_CLEAN) - rm -rf $(BUILD_DIR) - rm -rf bin +all: world -distclean: clean - rm -rf $(DL_DIR) +.pkginfo: FORCE +ifneq ($(shell ./scripts/timestamp.pl -p .pkginfo package Makefile),.pkginfo) + @echo Collecting package info... + @-for dir in package/*/; do \ + echo Source-Makefile: $${dir}Makefile; \ + $(MAKE) --no-print-dir DUMP=1 -C $$dir 2>&- || true; \ + done > $@ +endif + +pkginfo-clean: FORCE + -rm -f .pkginfo .config.in -%-prepare: $(BUILD_DIR) - @$(MAKE) -C package/$(patsubst %-prepare,%,$@) prepare +package/%: .pkginfo FORCE + $(MAKE) -C package $(patsubst package/%,%,$@) SDK=1 -%-compile: %-prepare - @$(MAKE) -C package/$(patsubst %-compile,%,$@) compile +download: FORCE + $(MAKE) package/download -%-clean: - @$(MAKE) -C package/$(patsubst %-clean,%,$@) clean +world: FORCE + $(MAKE) package/compile +clean: FORCE + rm -rf build_* bin -$(BUILD_DIR): - mkdir -p $@ - mkdir -p $(DL_DIR) - -package_index: - (cd $(PACKAGE_DIR); \ - $(STAGING_DIR)/usr/bin/ipkg-make-index . > Packages \ - ) +distclean: clean + rm -rf dl .pkg* +.PHONY: FORCE +FORCE: |