make/Makefile

Sat, 07 Nov 2020 10:05:19 +0800

author
aoqi
date
Sat, 07 Nov 2020 10:05:19 +0800
changeset 1920
fdbe50121f48
parent 637
9c07ef4934dd
permissions
-rw-r--r--

Merge

aoqi@0 1 #
aoqi@0 2 # Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
aoqi@0 3 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
aoqi@0 4 #
aoqi@0 5 # This code is free software; you can redistribute it and/or modify it
aoqi@0 6 # under the terms of the GNU General Public License version 2 only, as
aoqi@0 7 # published by the Free Software Foundation. Oracle designates this
aoqi@0 8 # particular file as subject to the "Classpath" exception as provided
aoqi@0 9 # by Oracle in the LICENSE file that accompanied this code.
aoqi@0 10 #
aoqi@0 11 # This code is distributed in the hope that it will be useful, but WITHOUT
aoqi@0 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
aoqi@0 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
aoqi@0 14 # version 2 for more details (a copy is included in the LICENSE file that
aoqi@0 15 # accompanied this code).
aoqi@0 16 #
aoqi@0 17 # You should have received a copy of the GNU General Public License version
aoqi@0 18 # 2 along with this work; if not, write to the Free Software Foundation,
aoqi@0 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
aoqi@0 20 #
aoqi@0 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
aoqi@0 22 # or visit www.oracle.com if you need additional information or have any
aoqi@0 23 # questions.
aoqi@0 24 #
aoqi@0 25
aoqi@0 26 # Locate this Makefile
aoqi@0 27 ifeq ($(filter /%, $(lastword $(MAKEFILE_LIST))), )
aoqi@0 28 makefile_path := $(CURDIR)/$(lastword $(MAKEFILE_LIST))
aoqi@0 29 else
aoqi@0 30 makefile_path := $(lastword $(MAKEFILE_LIST))
aoqi@0 31 endif
aoqi@0 32 repo_dir := $(patsubst %/make/Makefile, %, $(makefile_path))
aoqi@0 33
aoqi@0 34 # What is the name of this subsystem (langtools, corba, etc)?
aoqi@0 35 subsystem_name := $(notdir $(repo_dir))
aoqi@0 36
aoqi@0 37 # Try to locate top-level makefile
aoqi@0 38 top_level_makefile := $(repo_dir)/../Makefile
aoqi@0 39 ifneq ($(wildcard $(top_level_makefile)), )
aoqi@0 40 $(info Will run $(subsystem_name) target on top-level Makefile)
aoqi@0 41 $(info WARNING: This is a non-recommended way of building!)
aoqi@0 42 $(info ===================================================)
aoqi@0 43 else
aoqi@0 44 $(info Cannot locate top-level Makefile. Is this repo not checked out as part of a complete forest?)
aoqi@0 45 $(error Build from top-level Makefile instead)
aoqi@0 46 endif
aoqi@0 47
aoqi@0 48 all:
aoqi@0 49 @$(MAKE) -f $(top_level_makefile) $(subsystem_name)

mercurial