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