📄 makefile.in
字号:
# ``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 via the world wide web 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.# # The Initial Developer of the Original Code is Ericsson Utvecklings AB.# Portions created by Ericsson are Copyright 1999, Ericsson Utvecklings# AB. All Rights Reserved.''# # $Id$#include $(ERL_TOP)/make/target.mkEBIN = ../../ebinMEGACO_INCLUDEDIR = ../../includeinclude $(ERL_TOP)/make/$(TARGET)/otp.mk# ----------------------------------------------------# Application version# ----------------------------------------------------include ../../vsn.mkVSN=$(MEGACO_VSN)# ----------------------------------------------------# The following variables differ on different systems, we set# reasonable defaults, if something different is needed it should# be set for that system only.# ----------------------------------------------------CC = @CC@CFLAGS = @DED_CFLAGS@ CFLAGS_MT = $(CFLAGS) -D_THREAD_SAFE -D_REENTRANTLD = @DED_LD@LDFLAGS = @DED_LDFLAGS@LEX = @LEX@LEXLIB = @LEXLIB@PERL = @PERL@ERLANG_OSTYPE = @ERLANG_OSTYPE@# Shall we build the flex scanner or not.# We assume that it does not exist on windows...ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),)ifeq ($(findstring win32,$(TARGET)), win32)ENABLE_MEGACO_FLEX_SCANNER = falseelseENABLE_MEGACO_FLEX_SCANNER = @ENABLE_MEGACO_FLEX_SCANNER@endifendif# Shall the library be built with line-number checks or withoutifeq ($(ENABLE_MEGACO_FLEX_SCANNER_LINENO),)# This is not really needed in this case (since we don't support# this for windows), but just to ensure that the variable _has_ # a value...ifeq ($(findstring win32,$(TARGET)), win32)ENABLE_MEGACO_FLEX_SCANNER_LINENO = trueelseENABLE_MEGACO_FLEX_SCANNER_LINENO = @ENABLE_MEGACO_FLEX_SCANNER_LINENO@endifendifSYSINCLUDE = -I$(ERL_TOP)/erts/emulator/beam \ -I$(ERL_TOP)/erts/emulator/sys/$(ERLANG_OSTYPE)ifeq ($(findstring vxworks,$(TARGET)),vxworks) SYSINCLUDE += -I$(ERL_TOP)/erts/etc/vxworksendifDRIVER_INCLUDES = $(SYSINCLUDE)PRIVDIR = ../../privLIBDIR = $(PRIVDIR)/lib/$(TARGET)# ----------------------------------------------------# Release directory specification# ----------------------------------------------------RELSYSDIR = $(RELEASE_PATH)/lib/megaco-$(VSN)# ----------------------------------------------------# Target Specs# ----------------------------------------------------include modules.mkERL_FILES = $(MODULES:%=%.erl) TARGET_FILES = \ $(MODULES:%=$(EBIN)/%.$(EMULATOR))FLEX_SRC = $(FLEX_MODULES:%=%.flex.src)FLEX_FILES = $(FLEX_MODULES:%=%.flex)C_TARGETS = $(FLEX_MODULES:%=%.c)# ----------------------------------------------------# Misc Macros# ----------------------------------------------------STD_DRV_NAME=-DMEGACO_DRV_NAME=\"megaco_flex_scanner_drv\"MT_DRV_NAME=-DMEGACO_DRV_NAME=\"megaco_flex_scanner_drv_mt\"ifeq ($(findstring win32,$(TARGET)), win32)FLEX_SCANNER_SO = SOLIBS = $(FLEX_SCANNER_SO)elseifeq ($(findstring vxworks,$(TARGET)),vxworks)FLEX_SCANNER_SO = SOLIBS = $(FLEX_SCANNER_SO)elseFLEX_SCANNER_SO = $(LIBDIR)/megaco_flex_scanner_drv.so FLEX_SCANNER_MT_SO = $(LIBDIR)/megaco_flex_scanner_drv_mt.so SOLIBS = $(FLEX_SCANNER_SO) $(FLEX_SCANNER_MT_SO) endifendif# ----------------------------------------------------# FLAGS# ----------------------------------------------------ifeq ($(TYPE),debug)ERL_COMPILE_FLAGS += -Ddebugendifinclude ../app/megaco.mkERL_COMPILE_FLAGS += \ $(MEGACO_ERL_COMPILE_FLAGS) \ -I../../include \ $(MEGACO_APP_VSN_COMPILE_FLAGS)ifeq ($(MFS_DEBUG),true)CFLAGS += -DMFS_DEBUG=trueendififeq ($(MFS_FLEX_DEBUG),true)LEX_FLAGS = -dendifCFLAGS += $(DRIVER_INCLUDES) $(DRV_FLAGS) -funroll-loops -Wall ifeq ($(ENABLE_MEGACO_FLEX_SCANNER_LINENO),true)LEX_FLAGS += -CaelseLEX_FLAGS += -Cfeendif# ----------------------------------------------------# Targets# ----------------------------------------------------ifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true)debug opt: $(TARGET_FILES) $(C_TARGETS) solibselsedebug opt: $(TARGET_FILES) endifclean: rm -f $(TARGET_FILES) $(FLEX_FILES) $(C_TARGETS) $(SOLIBS) rm -f errs core *~docs:info: @echo "ENABLE_MEGACO_FLEX_SCANNER = $(ENABLE_MEGACO_FLEX_SCANNER)" @echo "ENABLE_MEGACO_FLEX_SCANNER_LINENO = $(ENABLE_MEGACO_FLEX_SCANNER_LINENO)" @echo "" @echo "CFLAGS = $(CFLAGS)" @echo "CFLAGS_MT = $(CFLAGS_MT)" @echo "DRV_FLAGS = $(DRV_FLAGS)" @echo "MODULES = $(MODULES)" @echo "ERL_FILES = $(ERL_FILES)" @echo "TARGET_FILES = $(TARGET_FILES)" @echo "FLEX_MODULES = $(FLEX_MODULES)" @echo "FLEX_SRC = $(FLEX_SRC)" @echo "FLEX_FILES = $(FLEX_FILES)" @echo "C_TARGETS = $(C_TARGETS)" @echo "LIBDIR = $(LIBDIR)" @echo "LEXLIB = $(LEXLIB)" @echo "SOLIBS = $(SOLIBS)"# ----------------------------------------------------# Release Target# ---------------------------------------------------- include $(ERL_TOP)/make/otp_release_targets.mkrelease_spec: opt $(INSTALL_DIR) $(RELSYSDIR)/ebin $(INSTALL_DIR) $(RELSYSDIR)/src $(INSTALL_DIR) $(RELSYSDIR)/src/flex $(INSTALL_DIR) $(RELSYSDIR)/priv/lib $(INSTALL_DIR) $(RELSYSDIR)/include $(INSTALL_DATA) $(ERL_FILES) $(INTERNAL_HRL_FILES) $(RELSYSDIR)/src/flex $(INSTALL_DATA) $(TARGET_FILES) $(RELSYSDIR)/ebinifeq ($(ENABLE_MEGACO_FLEX_SCANNER),true) $(INSTALL_DATA) $(FLEX_FILES) $(RELSYSDIR)/src/flex $(INSTALL_DATA) $(SOLIBS) $(RELSYSDIR)/priv/libendifrelease_docs_spec:megaco_flex_scanner_drv.flex: megaco_flex_scanner_drv.flex.srcifeq ($(ENABLE_MEGACO_FLEX_SCANNER_LINENO),true) @printf "\tflex scanner lineno enabled\n" $(PERL) -p -e \ 's/%MEGACO_YY_LINENO_OPTION%/%option yylineno/ ; \ s/%MEGACO_DUMMY_DECL_YY_LINENO%/\/* static int yylineno = 1; *\// ; \ s/%MEGACO_LINENO_OR_TOKENCOUNTER%/yylineno/' \ < $< > $@else @printf "\tflex scanner lineno disabled\n" $(PERL) -p -e \ 's/%MEGACO_YY_LINENO_OPTION%/ \/\* %option yylineno \*\// ; \ s/%MEGACO_DUMMY_DECL_YY_LINENO%/static int yylineno = 1;/ ; \ s/%MEGACO_LINENO_OR_TOKENCOUNTER%/mfs_token_counter/' \ < $< > $@endifmegaco_flex_scanner_drv.c: megaco_flex_scanner_drv.flex $(LEX) $(LEX_FLAGS) -P$* -o$@ $< solibs: $(LIBDIR) $(SOLIBS) # No need to link with -lfl as we have also defined %option noyywrap - # and having -lfl doesn't work under Darwin for some reason. - Sean$(LIBDIR)/megaco_flex_scanner_drv.so: megaco_flex_scanner_drv.c $(LIBDIR) @echo "std driver:" $(CC) $(STD_DRV_NAME) $(CFLAGS) $(LDFLAGS) -o $(LIBDIR)/megaco_flex_scanner_drv.so $< $(LIBDIR)/megaco_flex_scanner_drv_mt.so: megaco_flex_scanner_drv.c $(LIBDIR) @echo "multi-threaded driver:" $(CC) $(MT_DRV_NAME) $(CFLAGS_MT) $(LDFLAGS) -o $(LIBDIR)/megaco_flex_scanner_drv_mt.so $< $(LIBDIR): -mkdir -p $(LIBDIR)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -