# # %CopyrightBegin% # # Copyright Ericsson AB 2006-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% # #============================================================================= # # File: lib/typer/src/Makefile # Authors: Kostis Sagonas # #============================================================================= include $(ERL_TOP)/make/target.mk include $(ERL_TOP)/make/$(TARGET)/otp.mk # ---------------------------------------------------- # Application version # ---------------------------------------------------- include ../vsn.mk VSN=$(TYPER_VSN) # ---------------------------------------------------- # Release directory specification # ---------------------------------------------------- RELSYSDIR = $(RELEASE_PATH)/lib/typer-$(VSN) # ---------------------------------------------------- # Orientation information -- find dialyzer's dir # ---------------------------------------------------- DIALYZER_DIR = $(ERL_TOP)/lib/dialyzer # ---------------------------------------------------- # Target Specs # ---------------------------------------------------- MODULES = \ typer \ typer_annotator \ typer_info \ typer_map \ typer_options \ typer_preprocess HRL_FILES= typer.hrl ERL_FILES= $(MODULES:%=%.erl) INSTALL_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) $(APP_TARGET) $(APPUP_TARGET) TARGET_FILES= $(INSTALL_FILES) APP_FILE= typer.app APP_SRC= $(APP_FILE).src APP_TARGET= $(EBIN)/$(APP_FILE) APPUP_FILE= typer.appup APPUP_SRC= $(APPUP_FILE).src APPUP_TARGET= $(EBIN)/$(APPUP_FILE) # ---------------------------------------------------- # FLAGS # ---------------------------------------------------- ERL_COMPILE_FLAGS += +warn_exported_vars +warn_untyped_record +warn_missing_spec # ---------------------------------------------------- # Targets # ---------------------------------------------------- debug opt: $(TARGET_FILES) docs: clean: rm -f $(TARGET_FILES) rm -f core # ---------------------------------------------------- # Special Build Targets # ---------------------------------------------------- $(EBIN)/typer_options.$(EMULATOR): typer_options.erl ../vsn.mk Makefile erlc -W $(ERL_COMPILE_FLAGS) -DVSN="\"v$(VSN)\"" -o$(EBIN) typer_options.erl $(APP_TARGET): $(APP_SRC) ../vsn.mk sed -e 's;%VSN%;$(VSN);' $< > $@ $(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk sed -e 's;%VSN%;$(VSN);' $< > $@ # --------------------------------------------------------------------- # dependencies -- I wish they were somehow automatically generated # --------------------------------------------------------------------- $(EBIN)/typer.beam: typer.hrl $(EBIN)/typer_annotator.beam: typer.hrl $(EBIN)/typer_info.beam: typer.hrl $(EBIN)/typer_options.beam: typer.hrl $(EBIN)/typer_preprocess.beam: typer.hrl # ---------------------------------------------------- # Release Target # ---------------------------------------------------- include $(ERL_TOP)/make/otp_release_targets.mk release_spec: opt $(INSTALL_DIR) $(RELSYSDIR)/src $(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(YRL_FILES) \ $(RELSYSDIR)/src $(INSTALL_DIR) $(RELSYSDIR)/ebin $(INSTALL_DATA) $(INSTALL_FILES) $(RELSYSDIR)/ebin release_docs_spec: