makefile

来自「OTP是开放电信平台的简称」· 代码 · 共 162 行

TXT
162
字号
#=============================================================================##    File:  lib/dialyzer/src/Makefile# Authors:  Kostis Sagonas and Tobias Lindahl##=============================================================================include $(ERL_TOP)/make/target.mkinclude $(ERL_TOP)/make/$(TARGET)/otp.mk# ----------------------------------------------------# Application version# ----------------------------------------------------include ../vsn.mkVSN=$(DIALYZER_VSN)# ----------------------------------------------------# Release directory specification# ----------------------------------------------------RELSYSDIR = $(RELEASE_PATH)/lib/dialyzer-$(VSN)# ----------------------------------------------------# Orientation information -- find HiPE's icode dir# ----------------------------------------------------DIALYZER_DIR = $(ERL_TOP)/lib/dialyzerHIPE_ICODE_DIR = $(ERL_TOP)/lib/hipe/icode##---------------------------------------------------------------------## Edit here if you want to change the default libraries included in## Dialyzer's initial PLT (Persistent Lookup Table).#### 1. Minimal configuration##DIALYZER_DEF_LIBS = "kernel,mnesia,stdlib"#### 2. Configuration which includes enough stuff for most Dialyzer uses## ## DIALYZER_DEF_LIBS = "compiler,gs,hipe,kernel,mnesia,stdlib,syntax_tools"#### 3. Configuration without any unknown functions when building the PLT.##    Gives good results for most uses, but takes really long to##    create the initial PLT. If you have patience or a fast machine,##    we strongly recommend this option. Also, if your application uses##    more OTP libraries than those listed below, then by all means add##    them to the list.#### DIALYZER_DEF_LIBS = "asn1,compiler,crypto,dialyzer,debugger,edoc,et,gs,hipe,inets,kernel,observer,mnesia,mnemosyne,parsetools,runtime_tools,snmp,stdlib,ssl,syntax_tools,tools,webtool,xmerl"##---------------------------------------------------------------------# ----------------------------------------------------# Target Specs# ----------------------------------------------------MODULES =  \	dialyzer \	dialyzer_analysis_callgraph \	dialyzer_callgraph \	dialyzer_cl \	dialyzer_cl_parse \	dialyzer_codeserver \	dialyzer_contracts \	dialyzer_dataflow \	dialyzer_dep \	dialyzer_gui \	dialyzer_icode \	dialyzer_options \	dialyzer_plt \	dialyzer_succ_typings \	dialyzer_typesig \	dialyzer_utilsEXTRA_FILES=  ../plt/dialyzer_init_plt	## automatically generatedHRL_FILES= dialyzer.hrlERL_FILES= $(MODULES:%=%.erl)INSTALL_FILES= $(MODULES:%=$(EBIN)/%.$(EMULATOR)) $(APP_TARGET) $(APPUP_TARGET)TARGET_FILES= $(INSTALL_FILES) APP_FILE= dialyzer.appAPP_SRC= $(APP_FILE).srcAPP_TARGET= $(EBIN)/$(APP_FILE)APPUP_FILE= dialyzer.appupAPPUP_SRC= $(APPUP_FILE).srcAPPUP_TARGET= $(EBIN)/$(APPUP_FILE)# ----------------------------------------------------# FLAGS# ----------------------------------------------------ERL_COMPILE_FLAGS += -I$(HIPE_ICODE_DIR) +warn_unused_import +warn_obsolete_guard# ----------------------------------------------------# Targets# ----------------------------------------------------debug opt: $(TARGET_FILES) $(DIALYZER_DIR)/plt/dialyzer_init_pltdocs:clean:	rm -f $(TARGET_FILES)	rm -f $(EXTRA_FILES)	rm -f core# ----------------------------------------------------# Special Build Targets# ----------------------------------------------------$(DIALYZER_DIR)/plt/dialyzer_init_plt: ../../hipe/ebin/erl_types.beam ../../hipe/ebin/erl_bif_types.beam Makefile	@echo "Dialyzer will now build auxiliary information needed for subsequent analyses..."	@echo "A PLT for following libs will be built:"	@echo "  [$(DIALYZER_DEF_LIBS)]"	@echo "To select a different set please edit the file $(DIALYZER_DIR)/src/Makefile"	$(ERL_TOP)/bin/dialyzer --check_init_plt$(EBIN)/dialyzer_cl_parse.$(EMULATOR): dialyzer_cl_parse.erl ../vsn.mk Makefile	erlc $(ERL_COMPILE_FLAGS) -DDEFAULT_LIBS="[$(DIALYZER_DEF_LIBS)]" -DVSN="\"v$(VSN)\"" -o$(EBIN) dialyzer_cl_parse.erl$(EBIN)/dialyzer_plt.$(EMULATOR): dialyzer_plt.erl Makefile ../vsn.mk	erlc $(ERL_COMPILE_FLAGS) -DDEFAULT_LIBS="[$(DIALYZER_DEF_LIBS)]" -DVSN="\"v$(VSN)\"" -o$(EBIN) dialyzer_plt.erl$(EBIN)/dialyzer_gui.$(EMULATOR): dialyzer_gui.erl ../vsn.mk	erlc $(ERL_COMPILE_FLAGS) -DVSN="\"v$(VSN)\"" -o$(EBIN) dialyzer_gui.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)/dialyzer.beam: dialyzer.hrl$(EBIN)/dialyzer_analysis.beam: dialyzer.hrl$(EBIN)/dialyzer_analysis_callgraph.beam: dialyzer.hrl$(EBIN)/dialyzer_cl.beam: dialyzer.hrl$(EBIN)/dialyzer_cl_parse.beam: dialyzer.hrl$(EBIN)/dialyzer_dataflow.beam: dialyzer.hrl$(EBIN)/dialyzer_gui.beam: dialyzer.hrl$(EBIN)/dialyzer_icode.beam: $(HIPE_ICODE_DIR)/hipe_icode.hrl dialyzer.hrl$(EBIN)/dialyzer_options.beam: dialyzer.hrl$(EBIN)/dialyzer_plt.beam: dialyzer.hrl$(EBIN)/dialyzer_typesig.beam: dialyzer.hrl dialyzer_bif_constraints.inc$(EBIN)/dialyzer_utils.beam: dialyzer.hrl# ----------------------------------------------------# Release Target# ---------------------------------------------------- include $(ERL_TOP)/make/otp_release_targets.mkrelease_spec: opt	$(INSTALL_DIR) $(RELSYSDIR)/src	$(INSTALL_DATA) $(ERL_FILES) $(HRL_FILES) $(EXTRA_FILES) \		$(RELSYSDIR)/src	$(INSTALL_DIR) $(RELSYSDIR)/ebin	$(INSTALL_DATA) $(INSTALL_FILES) $(RELSYSDIR)/ebin	$(INSTALL_DIR) $(RELSYSDIR)/plt	$(INSTALL_DATA) ../plt/dialyzer_init_plt $(RELSYSDIR)/pltrelease_docs_spec:

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?