1# 2# %CopyrightBegin% 3# 4# Copyright Ericsson AB 1996-2021. All Rights Reserved. 5# 6# Licensed under the Apache License, Version 2.0 (the "License"); 7# you may not use this file except in compliance with the License. 8# You may obtain a copy of the License at 9# 10# http://www.apache.org/licenses/LICENSE-2.0 11# 12# Unless required by applicable law or agreed to in writing, software 13# distributed under the License is distributed on an "AS IS" BASIS, 14# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15# See the License for the specific language governing permissions and 16# limitations under the License. 17# 18# %CopyrightEnd% 19# 20 21ifdef BOOTSTRAP 22EGEN=$(BOOTSTRAP_TOP)/lib/kernel/egen 23EBIN=$(BOOTSTRAP_TOP)/lib/kernel/ebin 24endif 25 26include $(ERL_TOP)/make/target.mk 27include $(ERL_TOP)/make/$(TARGET)/otp.mk 28 29# ---------------------------------------------------- 30# Application version 31# ---------------------------------------------------- 32 33# Include erts/system/vsn.mk to port number for EPMD -- we will 34# get an unwanted definition for VSN too. Therefore, 35# we'll use KERNEL_VSN directly instead of assigning it to 36# VSN which is done in other Makefiles. 37 38include ../vsn.mk 39include $(ERL_TOP)/erts/vsn.mk 40 41include $(ERL_TOP)/erts/epmd/epmd.mk 42 43 44# ---------------------------------------------------- 45# Release directory specification 46# ---------------------------------------------------- 47RELSYSDIR = $(RELEASE_PATH)/lib/kernel-$(KERNEL_VSN) 48 49# ---------------------------------------------------- 50# Target Specs 51# ---------------------------------------------------- 52 53 54MODULES = \ 55 application \ 56 application_controller \ 57 application_master \ 58 application_starter \ 59 auth \ 60 code \ 61 code_server \ 62 disk_log \ 63 disk_log_1 \ 64 disk_log_server \ 65 disk_log_sup \ 66 dist_ac \ 67 dist_util \ 68 erl_boot_server \ 69 erl_compile_server \ 70 erl_ddll \ 71 erl_distribution \ 72 erl_erts_errors \ 73 erl_epmd \ 74 erl_kernel_errors \ 75 erl_reply \ 76 erl_signal_handler \ 77 erpc \ 78 erts_debug \ 79 error_handler \ 80 error_logger \ 81 file \ 82 file_io_server \ 83 file_server \ 84 gen_tcp \ 85 gen_tcp_socket \ 86 gen_udp \ 87 gen_udp_socket \ 88 gen_sctp \ 89 global \ 90 global_group \ 91 global_search \ 92 group \ 93 group_history \ 94 heart \ 95 inet \ 96 inet6_tcp \ 97 inet6_tcp_dist \ 98 inet6_udp \ 99 inet6_sctp \ 100 inet_config \ 101 inet_db \ 102 inet_dns \ 103 inet_gethost_native \ 104 inet_hosts \ 105 inet_parse \ 106 inet_res \ 107 inet_tcp \ 108 inet_tcp_dist \ 109 inet_udp \ 110 inet_sctp \ 111 kernel \ 112 kernel_config \ 113 kernel_refc \ 114 local_udp \ 115 local_tcp \ 116 logger \ 117 logger_backend \ 118 logger_config \ 119 logger_handler_watcher \ 120 logger_std_h \ 121 logger_disk_log_h \ 122 logger_h_common \ 123 logger_filters \ 124 logger_formatter \ 125 logger_olp \ 126 logger_proxy \ 127 logger_server \ 128 logger_simple_h \ 129 logger_sup \ 130 net \ 131 net_adm \ 132 net_kernel \ 133 os \ 134 pg \ 135 pg2 \ 136 ram_file \ 137 rpc \ 138 seq_trace \ 139 socket \ 140 standard_error \ 141 user \ 142 user_drv \ 143 user_sup \ 144 raw_file_io \ 145 raw_file_io_compressed \ 146 raw_file_io_inflate \ 147 raw_file_io_deflate \ 148 raw_file_io_delayed \ 149 raw_file_io_list \ 150 wrap_log_reader 151 152HRL_FILES= ../include/file.hrl ../include/inet.hrl ../include/inet_sctp.hrl \ 153 ../include/dist.hrl ../include/dist_util.hrl \ 154 ../include/net_address.hrl ../include/logger.hrl ../include/eep48.hrl 155 156 157INTERNAL_HRL_FILES= application_master.hrl disk_log.hrl \ 158 erl_epmd.hrl file_int.hrl \ 159 inet_dns.hrl inet_res.hrl \ 160 inet_boot.hrl inet_config.hrl inet_int.hrl \ 161 inet_dns_record_adts.hrl \ 162 logger_internal.hrl logger_olp.hrl logger_h_common.hrl 163 164ERL_FILES= $(MODULES:%=%.erl) 165 166TARGET_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR)) \ 167 $(APP_TARGET) $(APPUP_TARGET) 168 169APP_FILE= kernel.app 170 171APP_SRC= $(APP_FILE).src 172APP_TARGET= $(EBIN)/$(APP_FILE) 173 174APPUP_FILE= kernel.appup 175 176APPUP_SRC= $(APPUP_FILE).src 177APPUP_TARGET= $(EBIN)/$(APPUP_FILE) 178 179# ---------------------------------------------------- 180# FLAGS 181# ---------------------------------------------------- 182 183ERL_COMPILE_FLAGS += -Werror 184ERL_COMPILE_FLAGS += -I../include 185 186 187# ---------------------------------------------------- 188# Targets 189# ---------------------------------------------------- 190 191debug opt: $(TARGET_FILES) 192 193# Note: In the open-source build clean must not destroyed the preloaded 194# beam files. 195clean: 196 rm -f $(TARGET_FILES) 197 rm -f core 198 199 200docs: 201 202# ---------------------------------------------------- 203# Special Build Targets 204# ---------------------------------------------------- 205 206$(APP_TARGET): $(APP_SRC) ../vsn.mk 207 $(vsn_verbose)sed -e 's;%VSN%;$(KERNEL_VSN);' $< > $@ 208 209$(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk 210 $(vsn_verbose)sed -e 's;%VSN%;$(KERNEL_VSN);' $< > $@ 211 212 213EPMD_FLAGS = -Depmd_port_no=$(EPMD_PORT_NO) \ 214 -Depmd_node_type=$(EPMD_NODE_TYPE) \ 215 -Depmd_dist_low=$(EPMD_DIST_LOW) \ 216 -Depmd_dist_high=$(EPMD_DIST_HIGH) \ 217 -Derlang_daemon_port=$(EPMD_PORT_NO) 218 219$(ESRC)/inet_dns_record_adts.hrl: $(ESRC)/inet_dns_record_adts.pl 220 $(gen_verbose)LANG=C $(PERL) $< > $@ 221 222$(EBIN)/erl_epmd.beam: $(ESRC)/erl_epmd.erl 223 $(V_ERLC) $(ERL_COMPILE_FLAGS) $(EPMD_FLAGS) -o$(EBIN) $< 224 225# ---------------------------------------------------- 226# Release Target 227# ---------------------------------------------------- 228include $(ERL_TOP)/make/otp_release_targets.mk 229 230release_spec: opt 231 $(INSTALL_DIR) "$(RELSYSDIR)/src" 232 $(INSTALL_DATA) $(ERL_FILES) "$(RELSYSDIR)/src" 233 $(INSTALL_DATA) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" 234 $(INSTALL_DIR) "$(RELSYSDIR)/include" 235 $(INSTALL_DATA) $(HRL_FILES) "$(RELSYSDIR)/include" 236 $(INSTALL_DIR) "$(RELSYSDIR)/ebin" 237 $(INSTALL_DATA) $(TARGET_FILES) "$(RELSYSDIR)/ebin" 238 239release_docs_spec: 240 241 242# Include dependencies -- list below added by Kostis Sagonas 243$(EBIN)/application_controller.beam: application_master.hrl ../include/logger.hrl 244$(EBIN)/application_master.beam: application_master.hrl 245$(EBIN)/auth.beam: ../include/file.hrl 246$(EBIN)/code.beam: ../include/file.hrl 247$(EBIN)/code_server.beam: ../include/file.hrl 248$(EBIN)/disk_log.beam: disk_log.hrl 249$(EBIN)/disk_log_1.beam: disk_log.hrl ../include/file.hrl 250$(EBIN)/disk_log_server.beam: disk_log.hrl 251$(EBIN)/dist_util.beam: ../include/dist_util.hrl ../include/dist.hrl 252$(EBIN)/erl_boot_server.beam: inet_boot.hrl 253$(EBIN)/erl_epmd.beam: inet_int.hrl erl_epmd.hrl 254$(EBIN)/error_logger.beam: logger_internal.hrl ../include/logger.hrl 255$(EBIN)/file.beam: ../include/file.hrl file_int.hrl 256$(EBIN)/file_io_server.beam: ../include/file.hrl file_int.hrl 257$(EBIN)/gen_tcp.beam: inet_int.hrl 258$(EBIN)/gen_udp.beam: inet_int.hrl 259$(EBIN)/gen_sctp.beam: ../include/inet_sctp.hrl 260$(EBIN)/global.beam: ../../stdlib/include/ms_transform.hrl 261$(EBIN)/inet.beam: ../include/inet.hrl inet_int.hrl ../include/inet_sctp.hrl 262$(EBIN)/inet6_tcp.beam: inet_int.hrl 263$(EBIN)/inet6_tcp_dist.beam: ../include/net_address.hrl ../include/dist.hrl ../include/dist_util.hrl 264$(EBIN)/inet6_udp.beam: inet_int.hrl 265$(EBIN)/inet6_sctp.beam: inet_int.hrl 266$(EBIN)/inet_config.beam: inet_config.hrl ../include/inet.hrl 267$(EBIN)/inet_db.beam: ../include/inet.hrl inet_int.hrl inet_res.hrl inet_dns.hrl inet_config.hrl 268$(EBIN)/inet_dns.beam: inet_int.hrl inet_dns.hrl inet_dns_record_adts.hrl 269$(EBIN)/inet_gethost_native.beam: ../include/inet.hrl 270$(EBIN)/inet_hosts.beam: ../include/inet.hrl 271$(EBIN)/inet_parse.beam: ../include/file.hrl 272$(EBIN)/inet_res.beam: ../include/inet.hrl inet_res.hrl inet_dns.hrl inet_int.hrl 273$(EBIN)/inet_tcp.beam: inet_int.hrl 274$(EBIN)/inet_udp_dist.beam: ../include/net_address.hrl ../include/dist.hrl ../include/dist_util.hrl 275$(EBIN)/inet_udp.beam: inet_int.hrl 276$(EBIN)/inet_sctp.beam: inet_int.hrl ../include/inet_sctp.hrl 277$(EBIN)/local_udp.beam: inet_int.hrl 278$(EBIN)/local_tcp.beam: inet_int.hrl 279$(EBIN)/logger.beam: logger_internal.hrl ../include/logger.hrl 280$(EBIN)/logger_backend.beam: logger_internal.hrl ../include/logger.hrl 281$(EBIN)/logger_config.beam: logger_internal.hrl ../include/logger.hrl 282$(EBIN)/logger_disk_log_h.beam: logger_h_common.hrl logger_internal.hrl ../include/logger.hrl ../include/file.hrl 283$(EBIN)/logger_filters.beam: logger_internal.hrl ../include/logger.hrl 284$(EBIN)/logger_formatter.beam: logger_internal.hrl ../include/logger.hrl 285$(EBIN)/logger_olp.beam: logger_olp.hrl logger_internal.hrl 286$(EBIN)/logger_proxy.beam: logger_internal.hrl 287$(EBIN)/logger_server.beam: logger_internal.hrl ../include/logger.hrl 288$(EBIN)/logger_simple_h.beam: logger_internal.hrl ../include/logger.hrl 289$(EBIN)/logger_std_h.beam: logger_h_common.hrl logger_internal.hrl ../include/logger.hrl ../include/file.hrl 290$(EBIN)/logger_h_common.beam: logger_h_common.hrl logger_internal.hrl ../include/logger.hrl 291$(EBIN)/net_kernel.beam: ../include/net_address.hrl 292$(EBIN)/os.beam: ../include/file.hrl 293$(EBIN)/ram_file.beam: ../include/file.hrl 294$(EBIN)/wrap_log_reader.beam: disk_log.hrl ../include/file.hrl 295$(EBIN)/raw_file_io.beam: ../include/file.hrl file_int.hrl 296$(EBIN)/raw_file_io_compressed.beam: ../include/file.hrl file_int.hrl 297$(EBIN)/raw_file_io_inflate.beam: ../include/file.hrl file_int.hrl 298$(EBIN)/raw_file_io_deflate.beam: ../include/file.hrl file_int.hrl 299$(EBIN)/raw_file_io_delayed.beam: ../include/file.hrl file_int.hrl 300$(EBIN)/raw_file_io_list.beam: ../include/file.hrl file_int.hrl 301$(EBIN)/raw_file_io_raw.beam: ../include/file.hrl file_int.hrl 302