aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Makefile
blob: ea2827bef022c0391d69d75b4256be36790e9ebd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#
# %CopyrightBegin%
#
# Copyright Ericsson AB 1996-2018. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# %CopyrightEnd%

include $(ERL_TOP)/make/target.mk
include $(ERL_TOP)/make/$(TARGET)/otp.mk


# These have to be built first
ERTS_APPLICATIONS = stdlib sasl kernel compiler

# Then these have to be build
ERLANG_APPLICATIONS = tools common_test runtime_tools inets parsetools

# These are only build if -a is given to otp_build or make is used directly
ALL_ERLANG_APPLICATIONS = xmerl edoc erl_docgen snmp erl_interface \
		  asn1 jinterface \
	          wx debugger reltool \
	          mnesia crypto os_mon syntax_tools \
	          public_key ssl observer odbc diameter \
	          et megaco \
		  eunit ssh eldap dialyzer hipe ftp tftp

ifdef BUILD_ALL
  ERLANG_APPLICATIONS += $(ALL_ERLANG_APPLICATIONS)

# We use whildcard */ to figure out if there are any other applications
# in here.
  EXPECTED_APPLICATIONS := $(ERTS_APPLICATIONS) $(ERLANG_APPLICATIONS) \
	autom4te.cache
  EXTRA_APPLICATIONS += $(filter-out $(EXPECTED_APPLICATIONS),\
				$(subst /,,$(wildcard */)))
endif

ifdef BUILD_STATIC_LIBS
  SUB_DIRECTORIES = asn1 crypto
else
  ifdef BOOTSTRAP
    SUB_DIRECTORIES = \
      kernel stdlib compiler
  else
    ifdef SECONDARY_BOOTSTRAP
      SUB_DIRECTORIES = hipe parsetools asn1/src
    else
      ifdef TERTIARY_BOOTSTRAP
        SUB_DIRECTORIES = snmp sasl erl_interface jinterface syntax_tools wx
      else
        ifdef DOC_BOOTSTRAP
          SUB_DIRECTORIES = xmerl edoc erl_docgen public_key
        else # Not bootstrap build
          SUB_DIRECTORIES = $(ERTS_APPLICATIONS) \
			    $(ERLANG_APPLICATIONS) \
			    $(EXTRA_APPLICATIONS)
        endif
      endif
    endif
  endif
endif

# Any applications listed in SKIP-APPLICATIONS should be skipped
SKIP_FILE := $(wildcard SKIP-APPLICATIONS)
SKIP_APPLICATIONS := $(if $(SKIP_FILE),$(shell cat $(SKIP_FILE)))
SUB_DIRECTORIES := $(filter-out $(SKIP_APPLICATIONS),$(SUB_DIRECTORIES))

# ----------------------------------------------------------------------
include $(ERL_TOP)/make/otp_subdir.mk