⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile.in

📁 一个Megaco实现源代码
💻 IN
📖 第 1 页 / 共 3 页
字号:
# ``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$#ifeq ($(TYPE),debug)ERL_COMPILE_FLAGS += -Ddebug -WendifEBIN = ../ebininclude ../rules.mk# ----------------------------------------------------# Application version# ----------------------------------------------------include ../vsn.mkVSN=$(MEGACO_SESSION_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@AR      = @AR@RANLIB  = @RANLIB@CFLAGS  = @DED_CFLAGS@ERLANG_OSTYPE = @ERLANG_OSTYPE@# ----------------------------------------------------# Release directory specification# ----------------------------------------------------APPDIR      = $(shell (dirname $(shell pwd)))INCLUDE_DIR = $(APPDIR)/includePRIVDIR     = $(APPDIR)/privGENERATED_DIR     = $(APPDIR)/generatedGENERATED_C_DIR   = $(GENERATED_DIR)/cGENERATED_ERL_DIR = $(GENERATED_DIR)/erlangLIBDIR  = $(PRIVDIR)/libOBJDIR  = $(PRIVDIR)/objLIBRARY = $(LIBDIR)/libmegaco_session.aifeq ($(DEBUG),true)CFLAGS = -ggdbifneq ($(TYPE),debug)ERL_COMPILE_FLAGS += -Ddebug -Wendifendififeq ($(THREADS),pthreads)CFLAGS += -D_REENTRANT -DPTHREADS endif# ----------------------------------------------------# Target Specs# ----------------------------------------------------# --------- main modules ----------SESSION_MODULES = \	megaco_session \	megaco_session_externalizer \	megaco_session_internalizer \	megaco_session_sup \	Megaco_Session_impl \	Megaco_SessionFactory_impl# --------- TCP modules -------------TCP_MODULES = MegacoSessionTcp_implTCP_IDL_MODULE = MegacoSessionTcp# --------- UDP modules -------------UDP_MODULES = MegacoSessionUdp_impl# ---------- The plain old erlang stuff ------------MODULES =  \	$(SESSION_MODULES) \	$(TCP_MODULES) \	$(UDP_MODULES) ERL_FILES = $(MODULES:%=%.erl)TARGET_FILES = \	$(MODULES:%=$(EBIN)/%.$(EMULATOR))APP_FILE   = megaco_session.appAPP_SRC    = $(APP_FILE).srcAPP_TARGET = $(EBIN)/$(APP_FILE)APPUP_FILE   = megaco_session.appupAPPUP_SRC    = $(APPUP_FILE).srcAPPUP_TARGET = $(EBIN)/$(APPUP_FILE)# ---------- Generated targets ------------# MAIN targets:GEN_ERL_TARGETS = \	$(GENERATED_ERL_DIR)/Megaco.erl \	$(GENERATED_ERL_DIR)/Megaco_SessionUser.erl \	$(GENERATED_ERL_DIR)/MegacoSessionIp.hrl \	$(GENERATED_ERL_DIR)/MegacoMessage.erl \	$(GENERATED_ERL_DIR)/MegacoSessionTcp.erl \	$(GENERATED_ERL_DIR)/MegacoSessionUdp.erlGEN_HRL_TARGETS = \	$(INCLUDE_DIR)/Megaco.hrl \	$(INCLUDE_DIR)/oe_MegacoSession.hrl \	$(INCLUDE_DIR)/MegacoMessage.hrl \	$(INCLUDE_DIR)/oe_MegacoMessage.hrl \	$(INCLUDE_DIR)/MegacoSessionIp.hrl \	$(INCLUDE_DIR)/MegacoSessionTcp.hrl \	$(INCLUDE_DIR)/oe_MegacoSessionTcp.hrl \	$(INCLUDE_DIR)/MegacoSessionUdp.hrl \	$(INCLUDE_DIR)/oe_MegacoSessionUdp.hrlGEN_C_TARGETS = \	$(GENERATED_C_DIR)/Megaco_Session.c \	$(GENERATED_C_DIR)/Megaco_SessionUser__s.c \	$(GENERATED_C_DIR)/MegacoSessionIp.h \	$(GENERATED_C_DIR)/MegacoSessionIp__s.h \	$(GENERATED_C_DIR)/MegacoMessage.c \	$(GENERATED_C_DIR)/MegacoMessage__s.c \	$(GENERATED_C_DIR)/MegacoSessionTcp.c \	$(GENERATED_C_DIR)/MegacoSessionTcpUser__s.c \	$(GENERATED_C_DIR)/MegacoSessionUdp.c \	$(GENERATED_C_DIR)/MegacoSessionUdpUser__s.cGEN_H_TARGETS = \	$(INCLUDE_DIR)/Megaco.h \	$(INCLUDE_DIR)/Megaco__s.h \	$(INCLUDE_DIR)/Megaco_Session.h \	$(INCLUDE_DIR)/Megaco_SessionUser__s.h \	$(INCLUDE_DIR)/Megaco_SessionFactory.h \	$(INCLUDE_DIR)/oe_MegacoSession.h \	$(INCLUDE_DIR)/oe_MegacoSession__s.h \	$(INCLUDE_DIR)/MegacoSessionIp.h \	$(INCLUDE_DIR)/MegacoSessionIp__s.h \	$(INCLUDE_DIR)/oe_MegacoSessionIp.h \	$(INCLUDE_DIR)/oe_MegacoSessionIp__s.h \	$(INCLUDE_DIR)/MegacoMessage.h \	$(INCLUDE_DIR)/oe_MegacoMessage.h \	$(INCLUDE_DIR)/MegacoMessage__s.h \	$(INCLUDE_DIR)/oe_MegacoMessage__s.h \	$(INCLUDE_DIR)/MegacoSessionTcp.h \	$(INCLUDE_DIR)/oe_MegacoSessionTcp.h \	$(INCLUDE_DIR)/MegacoSessionTcpUser__s.h \	$(INCLUDE_DIR)/oe_MegacoSessionTcp__s.h \	$(INCLUDE_DIR)/MegacoSessionUdp.h \	$(INCLUDE_DIR)/oe_MegacoSessionUdp.h \	$(INCLUDE_DIR)/MegacoSessionUdpUser__s.h \	$(INCLUDE_DIR)/oe_MegacoSessionUdp__s.hGEN_TARGETS = \	$(GEN_ERL_TARGETS) \	$(GEN_HRL_TARGETS) \	$(EBIN)/.egen.phony \	$(GEN_C_TARGETS) \	$(GEN_H_TARGETS)TARGETS = \	$(GEN_TARGETS) \	$(LIBRARY)      \	$(TARGET_FILES) \	$(APP_TARGET)   \	$(APPUP_TARGET)TARGETS2 = \	$(GEN_TARGETS) \	$(TARGET_FILES) \	$(APP_TARGET)   \	$(APPUP_TARGET)# ----------------------------------------------------# FLAGS# ----------------------------------------------------# Megaco_session is included just to fool the code loader to find the# include library used in include_lib(...)ERL_FLAGS += -pa $(APPDIR)/ebinERL_COMPILE_FLAGS += \	+'{parse_transform, sys_pre_attributes}' \	+'{attribute, insert, app_vsn, "megaco_session-$(MEGACO_SESSION_VSN)"}' ERL_ROOTDIR := $(shell echo 'io:format("~s~n",[code:root_dir()]),halt().' | erl | sed 's,^[0-9]*> *,,g' | tail +2)IC_DIR := $(shell echo 'io:format("~s~n",[code:lib_dir(ic)]),halt().' | erl | sed 's,^[0-9]*> *,,g' | tail +2)EI_DIR := $(shell echo 'io:format("~s~n",[code:lib_dir(erl_interface)]),halt().' | erl | sed 's,^[0-9]*> *,,g' | tail +2)# IDL Preprocessor flagsBASIC_PP += -I$(IC_DIR)/includeIDL_BASIC_PRE = +'{preproc_flags,"$(BASIC_PP)"}'C2S_PP = $(BASIC_PP) -D_CLIENT2SERVER_IDL_C2S_PRE = +'{preproc_flags,"$(C2S_PP)"}'S2C_PP = $(BASIC_PP) -D_SERVER2CLIENT_IDL_S2C_PRE = +'{preproc_flags,"$(S2C_PP)"}'ALL_PP = $(BASIC_PP) -D_CLIENT2SERVER_ -D_SERVER2CLIENT_IDL_ALL_PRE = +'{preproc_flags,"$(ALL_PP)"}'CCLIENT_IDL_FLAGS = \	+'{outdir, "$(GENERATED_C_DIR)"}' \        +'{be, c_client}' \        +'{scoped_op_calls, true}'CSERVER_IDL_FLAGS = \	+'{outdir, "$(GENERATED_C_DIR)"}' \        +'{be, c_server}' \        +'{scoped_op_calls, true}'ERL_IDL_FLAGS = \	+'{outdir, "$(GENERATED_ERL_DIR)"}' \        +'{be, erl_genserv}' \        +'{scoped_op_calls, true}' \        +'handle_info'# IncludesIFLAGS = -I$(IC_DIR)/include \	 -I$(EI_DIR)/include \	 -I$(INCLUDE_DIR)ALL_CFLAGS = $(IFLAGS) $(CFLAGS) # ----------------------------------------------------# Targets# ----------------------------------------------------# Because some .erl files get generated twice and compiled only the# first time the .beam files are out of date when (if) we run make in# this directory again. To avoid the recompiling that gets done in# that case we put the generated files explicitly as a dependency# which generates them all first.all: $(TARGETS) gen: $(TARGETS2)debug:	@${MAKE} TYPE=debugclean: eclean	rm -rf $(GENERATED_C_DIR)	rm -f $(INCLUDE_DIR)/Megaco*	rm -f $(INCLUDE_DIR)/oe_Megaco*	rm -f $(OBJDIR)/*.o	rm -f $(OBJDIR)/.cgen.phony	rm -f $(LIBRARY)	rm -f coreeclean:	rm -f $(APPDIR)/ebin/*	rm -rf $(GENERATED_ERL_DIR)	rm -f $(EBIN)/.egen.phonydocs:info:	@echo ""	@echo "CC     = $(CC)"	@echo "AR     = $(AR)"	@echo "RANLIB = $(RANLIB)"	@echo ""	@echo "APPDIR      = $(APPDIR)"	@echo "INCLUDE_DIR = $(INCLUDE_DIR)"	@echo "PRIVDIR     = $(PRIVDIR)"	@echo ""	@echo "GENERATED_DIR     = $(GENERATED_DIR)"	@echo "GENERATED_C_DIR   = $(GENERATED_C_DIR)"	@echo "GENERATED_ERL_DIR = $(GENERATED_ERL_DIR)"	@echo ""	@echo "LIBDIR = $(LIBDIR)"	@echo "OBJDIR = $(OBJDIR)"	@echo ""	@echo "THREADS = $(THREADS)"	@echo ""	@echo "CFLAGS       = $(CFLAGS)"	@echo "ALL_CFLAGS   = $(ALL_CFLAGS)"	@echo "TARGET       = $(TARGET)"	@echo "TARGETS      = $(TARGETS)"	@echo "LIBRARY      = $(LIBRARY)"	@echo "MODULES      = $(MODULES)"	@echo "ERL_FILES    = $(ERL_FILES)"	@echo "TARGET_FILES = $(TARGET_FILES)"	@echo "IC_DIR       = $(IC_DIR)"	@echo "EI_DIR       = $(EI_DIR)"# ----------------------------------------------------# Special Build Targets# ----------------------------------------------------$(APP_TARGET): $(APP_SRC) ../vsn.mk$(APPUP_TARGET): $(APPUP_SRC) ../vsn.mk# ----------------------------------------------------# dependencies# ----------------------------------------------------egen: $(EBIN)/.egen.phony$(EBIN)/.egen.phony : $(GEN_ERL_TARGETS)	@printf "\ncompile generated erl-files \n\t"	$(ERLC) $(ERL_FLAGS) $(ERL_COMPILE_FLAGS) -o$(EBIN) +pj $(GENERATED_ERL_DIR)/*.erl	@touch $(EBIN)/.egen.phonycgen: $(OBJDIR)/.cgen.phony$(OBJDIR)/.cgen.phony : $(GEN_C_TARGETS)	@printf "\ncompile generated c files \n\t"	cd $(OBJDIR) && $(CC) $(CFLAGS) $(IFLAGS) -c $(GENERATED_C_DIR)/*.c	@touch $(OBJDIR)/.cgen.phony$(LIBRARY) : $(OBJDIR)/.cgen.phony	@printf "\n(library): create library\n\t"	$(AR) rcv $(LIBRARY) $(OBJDIR)/*.o	@printf "\t"	$(RANLIB) $(LIBRARY)## ---------------# This target generate the following files:# Megaco.erl# Megaco.hrl # oe_MegacoSession.erl # oe_MegacoSession.hrl$(GENERATED_ERL_DIR)/Megaco.erl : MegacoSession.idl	@printf "\n(session) basic: $@\n"

⌨️ 快捷键说明

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