X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=openwrt%2FMakefile;h=5b966b752c9dec85fb763ba7213954315f7e4840;hb=e08c8179f6058a9e0b63fd0e5428720fe0093a6f;hp=b938c241f9f084b77c55e18188dc679751072d66;hpb=cdd74416bc3e33e3f234859674747595631d092a;p=oweals%2Fopenwrt.git diff --git a/openwrt/Makefile b/openwrt/Makefile index b938c241f9..5b966b752c 100644 --- a/openwrt/Makefile +++ b/openwrt/Makefile @@ -1,20 +1,10 @@ # Makefile for OpenWrt # +# Copyright (C) 2006 OpenWrt.org # Copyright (C) 2006 by Felix Fietkau # -# 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 +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. # RELEASE:=Kamikaze @@ -26,6 +16,7 @@ RELEASE:=Kamikaze #-------------------------------------------------------------- TOPDIR=${shell pwd} export TOPDIR +include $(TOPDIR)/include/verbose.mk OPENWRTVERSION:=$(RELEASE) ifneq ($(VERSION),) @@ -38,38 +29,78 @@ endif endif export OPENWRTVERSION -ifeq ($(shell ./scripts/timestamp.pl -p .pkginfo package),package) -.pkginfo: pkginfo-clean -endif +all: world -.pkginfo: +.pkginfo: FORCE +ifneq ($(shell ./scripts/timestamp.pl -p .pkginfo package Makefile),.pkginfo) @echo Collecting package info... - @-for makefile in package/*/Makefile; do \ - echo Source-Makefile: $$makefile; \ - $(MAKE) DUMP=1 -f $$makefile 2>&- || true; \ + @-for dir in package/*/; do \ + echo Source-Makefile: $${dir}Makefile; \ + $(NO_TRACE_MAKE) --no-print-dir DUMP=1 -C $$dir 2>&- || true; \ done > $@ - +endif + .config.in: .pkginfo - ./scripts/gen_menuconfig.pl < $< > $@ || rm -f $@ + @./scripts/gen_menuconfig.pl < $< > $@ || rm -f $@ -pkginfo-clean: +pkginfo-clean: FORCE -rm -f .pkginfo .config.in -scripts/config/mconf: .config.in - $(MAKE) -C scripts/config all +./scripts/config/mconf: .config.in + @$(MAKE) -C scripts/config all -scripts/config/conf: .config.in - $(MAKE) -C scripts/config conf +./scripts/config/conf: .config.in + @$(MAKE) -C scripts/config conf -menuconfig: scripts/config/mconf +config: ./scripts/config/conf FORCE $< Config.in -config: scripts/config/conf +defconfig: ./scripts/config/conf FORCE + touch .config + $< -D .config Config.in + +oldconfig: ./scripts/config/conf FORCE + $< -o Config.in + +menuconfig: ./scripts/config/mconf FORCE $< Config.in -config-clean: +config-clean: FORCE $(MAKE) -C scripts/config clean -.PHONY: pkginfo-clean +package/%: .pkginfo FORCE + $(MAKE) -C package $(patsubst package/%,%,$@) + +target/%: .pkginfo FORCE + $(MAKE) -C target $(patsubst target/%,%,$@) + +toolchain/%: FORCE + $(MAKE) -C toolchain $(patsubst toolchain/%,%,$@) + +.config: ./scripts/config/conf FORCE + @[ -f .config ] || $(NO_TRACE_MAKE) menuconfig + @$< -D .config Config.in &> /dev/null + +download: .config FORCE + $(MAKE) toolchain/download + $(MAKE) package/download + $(MAKE) target/download + +world: .config FORCE + $(MAKE) toolchain/install + $(MAKE) target/compile + $(MAKE) package/compile + $(MAKE) package/install + $(MAKE) target/install + +clean: FORCE + rm -rf build_* bin + +dirclean: clean + rm -rf staging_dir_* toolchain_build_* +distclean: dirclean config-clean + rm -rf dl .*config* .pkg* +.PHONY: FORCE +FORCE: