diff options
Diffstat (limited to 'lib/ic/src/Makefile')
-rw-r--r-- | lib/ic/src/Makefile | 218 |
1 files changed, 218 insertions, 0 deletions
diff --git a/lib/ic/src/Makefile b/lib/ic/src/Makefile new file mode 100644 index 0000000000..5dac304e32 --- /dev/null +++ b/lib/ic/src/Makefile @@ -0,0 +1,218 @@ +# +# %CopyrightBegin% +# +# Copyright Ericsson AB 1998-2009. All Rights Reserved. +# +# The contents of this file are subject to the Erlang Public License, +# Version 1.1, (the "License"); you may not use this file except in +# compliance with the License. You should have received a copy of the +# Erlang Public License along with this software. If not, it can be +# retrieved online at http://www.erlang.org/. +# +# Software distributed under the License is distributed on an "AS IS" +# basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See +# the License for the specific language governing rights 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 + sed -e 's;%VSN%;$(VSN);' $< > $@ + +docs: + +# ---------------------------------------------------- +# Special Build Targets +# ---------------------------------------------------- +../ebin/icparse.beam: icparse.erl + $(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: + |