# # %CopyrightBegin% # # Copyright Ericsson AB 1998-2012. 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 ifeq ($(TYPE),debug) ERL_COMPILE_FLAGS += -Ddebug -W endif include $(ERL_TOP)/make/$(TARGET)/otp.mk # ---------------------------------------------------- # Application version # ---------------------------------------------------- include ../vsn.mk VSN=$(IC_VSN) # ---------------------------------------------------- # Release directory specification # ---------------------------------------------------- RELSYSDIR = $(RELEASE_PATH)/lib/ic-$(VSN) # ---------------------------------------------------- # Target Specs # ---------------------------------------------------- MODULES= \ ic \ ic_erlbe \ ic_cbe \ icscan \ icparse \ iceval \ ictype \ ictk \ icstruct \ icenum \ icpreproc \ icunion \ ic_pp \ ic_pragma \ ic_noc \ ic_plainbe \ ic_cclient \ ic_cserver \ ic_fetch \ ic_code \ ic_codegen \ ic_error \ ic_file \ ic_forms \ ic_genobj \ ic_options \ ic_symtab \ ic_util \ ic_jbe \ ic_struct_java \ ic_union_java \ ic_enum_java \ ic_constant_java \ ic_sequence_java \ ic_array_java \ ic_attribute_java \ ic_java_type \ ic_erl_template CCL_EX_FILES = \ ../examples/c-client/ReadMe \ ../examples/c-client/Makefile \ ../examples/c-client/client.c \ ../examples/c-client/random.idl \ ../examples/c-client/rmod_random_impl.erl \ ../examples/c-client/test.erl CSRV_EX_FILES = \ ../examples/c-server/ReadMe \ ../examples/c-server/Makefile \ ../examples/c-server/client.c \ ../examples/c-server/client.erl \ ../examples/c-server/server.c \ ../examples/c-server/callbacks.c \ ../examples/c-server/random.idl EPL_EX_FILES = \ ../examples/erl-plain/ReadMe \ ../examples/erl-plain/rmod_random_impl.erl \ ../examples/erl-plain/random.idl ESRV_EX_FILES = \ ../examples/erl-genserv/ReadMe \ ../examples/erl-genserv/rmod_random_impl.erl \ ../examples/erl-genserv/random.idl JAVA_EX_FILES = \ ../examples/java-client-server/ReadMe \ ../examples/java-client-server/client.java \ ../examples/java-client-server/server.java \ ../examples/java-client-server/serverImpl.java \ ../examples/java-client-server/random.idl MIXED_EX_FILES = \ ../examples/all-against-all/ReadMe \ ../examples/all-against-all/Makefile \ ../examples/all-against-all/client.erl \ ../examples/all-against-all/server.erl \ ../examples/all-against-all/client.c \ ../examples/all-against-all/server.c \ ../examples/all-against-all/callbacks.c \ ../examples/all-against-all/client.java \ ../examples/all-against-all/server.java \ ../examples/all-against-all/serverImpl.java \ ../examples/all-against-all/random.idl EXTERNAL_HRL_FILES= INTERNAL_HRL_FILES = \ ic.hrl \ ic_debug.hrl \ icforms.hrl ERL_FILES= $(MODULES:%=%.erl) TARGET_FILES = $(MODULES:%=$(EBIN)/%.$(EMULATOR)) YRL_FILE = icparse.yrl GEN_FILES = icparse.erl APP_FILE = ic.app APP_SRC = $(APP_FILE).src APP_TARGET = $(EBIN)/$(APP_FILE) # ---------------------------------------------------- # FLAGS # ---------------------------------------------------- ERL_LOCAL_FLAGS += -pa ../../ic/ebin # The -pa option is just used temporary until erlc can handle # includes from other directories than ../include . ERL_COMPILE_FLAGS += \ $(ERL_LOCAL_FLAGS) \ +'{parse_transform,sys_pre_attributes}' \ +'{attribute,insert,app_vsn,"ic_$(VSN)"}' \ -D'COMPILERVSN="$(VSN)"' YRL_FLAGS = -Iicyeccpre.hrl # ---------------------------------------------------- # Targets # ---------------------------------------------------- debug: @${MAKE} TYPE=debug opt opt: $(TARGET_FILES) $(APP_TARGET) clean: rm -f $(TARGET_FILES) $(GEN_FILES) $(APP_TARGET) rm -f errs core *~ $(APP_TARGET): $(APP_SRC) ../vsn.mk $(vsn_verbose)sed -e 's;%VSN%;$(VSN);' $< > $@ docs: # ---------------------------------------------------- # Special Build Targets # ---------------------------------------------------- ../ebin/icparse.beam: icparse.erl $(V_ERLC) $(ERL_COMPILE_FLAGS) +nowarn_unused_vars +nowarn_unused_function -o$(EBIN) +pj $< icparse.erl: icparse.yrl icyeccpre.hrl ### $(ERLC) $(YRL_FLAGS) $< # ---------------------------------------------------- # Release Target # ---------------------------------------------------- include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) "$(RELSYSDIR)/ebin" $(INSTALL_DATA) $(TARGET_FILES) $(APP_TARGET) "$(RELSYSDIR)/ebin" $(INSTALL_DIR) "$(RELSYSDIR)/src" $(INSTALL_DATA) $(ERL_FILES) $(YRL_FILE) $(INTERNAL_HRL_FILES) "$(RELSYSDIR)/src" $(INSTALL_DIR) "$(RELSYSDIR)/examples" $(INSTALL_DIR) "$(RELSYSDIR)/examples/c-client" $(INSTALL_DATA) $(CCL_EX_FILES) "$(RELSYSDIR)/examples/c-client" $(INSTALL_DIR) "$(RELSYSDIR)/examples/c-server" $(INSTALL_DATA) $(CSRV_EX_FILES) "$(RELSYSDIR)/examples/c-server" $(INSTALL_DIR) "$(RELSYSDIR)/examples/erl-plain" $(INSTALL_DATA) $(EPL_EX_FILES) "$(RELSYSDIR)/examples/erl-plain" $(INSTALL_DIR) "$(RELSYSDIR)/examples/erl-genserv" $(INSTALL_DATA) $(ESRV_EX_FILES) "$(RELSYSDIR)/examples/erl-genserv" $(INSTALL_DIR) "$(RELSYSDIR)/examples/java-client-server" $(INSTALL_DATA) $(JAVA_EX_FILES) "$(RELSYSDIR)/examples/java-client-server" $(INSTALL_DIR) "$(RELSYSDIR)/examples/all-against-all" $(INSTALL_DATA) $(MIXED_EX_FILES) "$(RELSYSDIR)/examples/all-against-all" release_docs_spec: