# Copyright 2016 The Fuchsia Authors # Copyright (c) 2008-2015 Travis Geiselbrecht # # Use of this source code is governed by a MIT-style # license that can be found in the LICENSE file or at # https://opensource.org/licenses/MIT # routines and rules to print some helpful stuff #$(warning MAKECMDGOALS = $(MAKECMDGOALS)) # print some help and exit ifeq ($(firstword $(MAKECMDGOALS)),help) do-nothing=1 .PHONY: help help: @echo "Zircon build system quick help" @echo "Individual projects are built into a build- directory" @echo "Environment or command line variables controlling build:" @echo "PROJECT = " @echo "TOOLCHAIN_PREFIX = " @echo "EXTERNAL_DEFINES = " @echo "EXTERNAL_KERNEL_DEFINES = " @echo "EXTERNAL_MODULES = " @echo "HOST_TARGET = " @echo "" @echo "These variables may be also placed in a file called local.mk in the" @echo "root of the zircon build system. local.mk is sourced by the build system" @echo "if present." @echo "" @echo "Special make targets:" @echo "make help: This help" @echo "make list: List of buildable projects" @echo "make clean: cleans build of current project" @echo "make spotless: removes all build directories" @echo "make gigaboot: build the x86 UEFI bootloader" @echo "make bootloader: build the project's bootloader" @echo "make kernel: build the kernel" @echo "make sysroot: build and populate the sysroot" @echo "make tools: build all the host tools" @echo "make : try to build project named " @echo "" @echo "Examples:" @echo "PROJECT=testproject make" @echo "PROJECT=testproject make clean" @echo "make testproject" @echo "make testproject clean" @echo "" @echo "output will be in build-testproject/" endif # list projects ifeq ($(firstword $(MAKECMDGOALS)),list) do-nothing=1 # get a list of all the .mk files in the top level project directories PROJECTS:=$(basename $(strip $(foreach d,kernel,$(wildcard $(d)/project/*.mk)))) PROJECTS:=$(shell basename -a $(PROJECTS)) .PHONY: list list: @echo 'List of all buildable projects: (look in project/ directory)'; \ for p in $(PROJECTS); do \ echo $$p; \ done endif # vim: set syntax=make noexpandtab