1#-*-makefile-*- ; force emacs to enter makefile-mode 2 3# %CopyrightBegin% 4# 5# Copyright Ericsson AB 1997-2019. All Rights Reserved. 6# 7# Licensed under the Apache License, Version 2.0 (the "License"); 8# you may not use this file except in compliance with the License. 9# You may obtain a copy of the License at 10# 11# http://www.apache.org/licenses/LICENSE-2.0 12# 13# Unless required by applicable law or agreed to in writing, software 14# distributed under the License is distributed on an "AS IS" BASIS, 15# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16# See the License for the specific language governing permissions and 17# limitations under the License. 18# 19# %CopyrightEnd% 20 21include $(ERL_TOP)/make/target.mk 22 23EBIN = ../../ebin 24BIN = ../../bin 25 26include $(ERL_TOP)/make/$(TARGET)/otp.mk 27 28 29# ---------------------------------------------------- 30# Application version 31# ---------------------------------------------------- 32include ../../vsn.mk 33 34VSN = $(SNMP_VSN) 35 36 37# ---------------------------------------------------- 38# Release directory specification 39# ---------------------------------------------------- 40RELSYSDIR = $(RELEASE_PATH)/lib/snmp-$(VSN) 41 42 43# ---------------------------------------------------- 44# Target Specs 45# ---------------------------------------------------- 46 47include modules.mk 48 49ESCRIPT_BIN = $(ESCRIPT_SRC:%.src=$(BIN)/%) 50ERL_FILES = $(MODULES:%=%.erl) 51EBIN_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR)) 52TARGET_FILES = $(EBIN_FILES) $(ESCRIPT_BIN) 53 54GENERATED_PARSER = $(PARSER_MODULE:%=%.erl) 55 56PARSER_TARGET = $(PARSER_MODULE).$(EMULATOR) 57 58 59# ---------------------------------------------------- 60# FLAGS 61# ---------------------------------------------------- 62ERL_COMPILE_FLAGS += -pa $(ERL_TOP)/lib/snmp/ebin 63 64ifeq ($(WARN_UNUSED_VARS),true) 65ERL_COMPILE_FLAGS += +warn_unused_vars 66endif 67 68ERL_COMPILE_FLAGS += -I../../include \ 69 -Dversion=\"$(VSN)$(PRE_VSN)\" \ 70 +'{parse_transform,sys_pre_attributes}' \ 71 +'{attribute,insert,app_vsn,$(APP_VSN)}' \ 72 -I$(ERL_TOP)/lib/stdlib 73 74YRL_FLAGS = -o . 75 76 77# ---------------------------------------------------- 78# Targets 79# ---------------------------------------------------- 80 81debug: 82 @${MAKE} TYPE=debug opt 83 84opt: $(TARGET_FILES) 85 86clean: 87 rm -f $(TARGET_FILES) $(GENERATED_PARSER) 88 rm -f core *~ 89 90docs: 91 92info: 93 @echo "PARSER_SRC: $(PARSER_SRC)" 94 @echo "PARSER_MODULE: $(PARSER_MODULE)" 95 @echo "" 96 @echo "GENERATED_PARSER: $(GENERATED_PARSER)" 97 @echo "PARSER_TARGET: $(PARSER_TARGET)" 98 @echo "" 99 @echo "MODULES: $(MODULES)" 100 @echo "" 101 @echo "TARGET_FILES: $(TARGET_FILES)" 102 @echo "" 103 @echo "EBIN: $(EBIN)" 104 @echo "" 105 @echo "ESCRIPT_SRC: $(ESCRIPT_SRC)" 106 @echo "ESCRIPT_BIN: $(ESCRIPT_BIN)" 107 @echo "" 108 @echo "" 109 110 111# ---------------------------------------------------- 112# Special Build Targets 113# ---------------------------------------------------- 114 115parser: $(PARSER_TARGET) 116 117$(GENERATED_PARSER): $(PARSER_SRC) 118 119 120# ---------------------------------------------------- 121# Release Target 122# ---------------------------------------------------- 123include $(ERL_TOP)/make/otp_release_targets.mk 124 125release_spec: opt 126 $(INSTALL_DIR) "$(RELSYSDIR)/src" 127 $(INSTALL_DIR) "$(RELSYSDIR)/src/compiler" 128 $(INSTALL_DATA) $(ESCRIPT_SRC) $(PARSER_SRC) $(ERL_FILES) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src/compiler" 129 $(INSTALL_DIR) "$(RELSYSDIR)/ebin" 130 $(INSTALL_DATA) $(EBIN_FILES) "$(RELSYSDIR)/ebin" 131 $(INSTALL_DIR) "$(RELSYSDIR)/bin" 132 $(INSTALL_SCRIPT) $(ESCRIPT_BIN) "$(RELSYSDIR)/bin" 133 134release_docs_spec: 135 136include depend.mk 137 138