Gavin McDonald | 0b75e1a | 2010-10-28 02:12:01 +0000 | [diff] [blame^] | 1 | # Comment by tfee 2004-07-01 |
| 2 | # ========================== |
| 3 | # This file is a mod of the stock OTP one. |
| 4 | # The change allows make to stop when a compile error occurs. |
| 5 | # This file needs to go into two places: |
| 6 | # /usr/local/include/erlang |
| 7 | # /opt/OTP_SRC/make |
| 8 | # |
| 9 | # where OTP_SRC is a symbolic link to a peer directory containing |
| 10 | # the otp source, e.g. otp_src_R9C-2. |
| 11 | # |
| 12 | # After installing OTP, running sudo make install in otp/build |
| 13 | # will push this file out to the two places listed above. |
| 14 | # |
| 15 | # The mod involves setting the shell variable $short_circuit, which we |
| 16 | # introduce - ie it is not in the stock file. This variable is tested |
| 17 | # to affect execution flow and is also returned to affect the flow in |
| 18 | # the calling script (this one). The latter step is necessary because |
| 19 | # of the recursion involved. |
| 20 | # ===================================================================== |
| 21 | |
| 22 | |
| 23 | # ``The contents of this file are subject to the Erlang Public License, |
| 24 | # Version 1.1, (the "License"); you may not use this file except in |
| 25 | # compliance with the License. You should have received a copy of the |
| 26 | # Erlang Public License along with this software. If not, it can be |
| 27 | # retrieved via the world wide web at http://www.erlang.org/. |
| 28 | # |
| 29 | # Software distributed under the License is distributed on an "AS IS" |
| 30 | # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See |
| 31 | # the License for the specific language governing rights and limitations |
| 32 | # under the License. |
| 33 | # |
| 34 | # The Initial Developer of the Original Code is Ericsson Utvecklings AB. |
| 35 | # Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings |
| 36 | # AB. All Rights Reserved.'' |
| 37 | # |
| 38 | # $Id: otp_subdir.mk,v 1.5 2004/07/12 15:12:23 jeinhorn Exp $ |
| 39 | # |
| 40 | # |
| 41 | # Make include file for otp |
| 42 | |
| 43 | .PHONY: debug opt release docs release_docs tests release_tests \ |
| 44 | clean depend |
| 45 | |
| 46 | # |
| 47 | # Targets that don't affect documentation directories |
| 48 | # |
| 49 | debug opt release docs release_docs tests release_tests clean depend: prepare |
| 50 | @set -e ; \ |
| 51 | app_pwd=`pwd` ; \ |
| 52 | if test -f vsn.mk; then \ |
| 53 | echo "=== Entering application" `basename $$app_pwd` ; \ |
| 54 | fi ; \ |
| 55 | case "$(MAKE)" in *clearmake*) tflag="-T";; *) tflag="";; esac; \ |
| 56 | short_circuit=0 ; \ |
| 57 | for d in $(SUB_DIRECTORIES); do \ |
| 58 | if [[ $$short_circuit = 0 ]]; then \ |
| 59 | if test -f $$d/SKIP ; then \ |
| 60 | echo "=== Skipping subdir $$d, reason:" ; \ |
| 61 | cat $$d/SKIP ; \ |
| 62 | echo "===" ; \ |
| 63 | else \ |
| 64 | if test ! -d $$d ; then \ |
| 65 | echo "=== Skipping subdir $$d, it is missing" ; \ |
| 66 | else \ |
| 67 | xflag="" ; \ |
| 68 | if test -f $$d/ignore_config_record.inf; then \ |
| 69 | xflag=$$tflag ; \ |
| 70 | fi ; \ |
| 71 | (cd $$d && $(MAKE) $$xflag $@) ; \ |
| 72 | if [[ $$? != 0 ]]; then \ |
| 73 | short_circuit=1 ; \ |
| 74 | fi ; \ |
| 75 | fi ; \ |
| 76 | fi ; \ |
| 77 | fi ; \ |
| 78 | done ; \ |
| 79 | if test -f vsn.mk; then \ |
| 80 | echo "=== Leaving application" `basename $$app_pwd` ; \ |
| 81 | fi ; \ |
| 82 | exit $$short_circuit |
| 83 | |
| 84 | prepare: |
| 85 | echo |