makefile
来自「OTP是开放电信平台的简称」· 代码 · 共 263 行
TXT
263 行
# ``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.mk#ifeq ($(TYPE),debug)ERL_COMPILE_FLAGS += -W#endifEBIN = .include $(ERL_TOP)/make/$(TARGET)/otp.mk# ----------------------------------------------------# Application version# ----------------------------------------------------include ../../../vsn.mkVSN=$(MNESIA_SESSION_VSN)# ----------------------------------------------------# Release directory specification# ----------------------------------------------------RELSYSDIR = $(RELEASE_PATH)/lib/mnesia_session-$(VSN)/examples# ----------------------------------------------------# Target Specs# ----------------------------------------------------PROGRAM = person_exAPP_DIR = $(ERL_TOP)/lib/mnesia_sessionINCLUDE_DIR := $(APP_DIR)/includeIC_DIR := $(ERL_TOP)/lib/icEI_DIR := $(ERL_TOP)/lib/erl_interfaceAPP_BUILD_DIR = $(shell (dirname $(shell (dirname $(shell (dirname $(shell pwd))))))) IC_BUILD_DIR := $(shell echo 'io:format("~s~n",[code:lib_dir(ic)]),halt().' | erl | sed 's,^[0-9]*> *,,g' | tail +2) EI_BUILD_DIR := $(shell echo 'io:format("~s~n",[code:lib_dir(erl_interface)]),halt().' | erl | sed 's,^[0-9]*> *,,g' | tail +2)PP_DIR= gen_person_filesMS_DIR= gen_session_filesPERSON_IDL = ../person.idlIDL_FILES = \ $(PERSON_IDL)NORMAL_MODULES= \ setupNORMAL_ERL_FILES= \ $(NORMAL_MODULES:%=%.erl)GEN_MODULES = \ oe_person GEN_HRL_NAMES = \ oe_person \ personsGEN_HRL_FILES = \ $(GEN_HRL_NAMES:%=./$(PP_DIR)/%.hrl)GEN_ERL_FILES = \ $(GEN_HRL_FILES) \ $(GEN_MODULES:%=./$(PP_DIR)/%.erl) GEN_PP_C_FILES = \ $(PP_DIR)/oe_person.c \ $(PP_DIR)/oe_code_persons_Sex.c \ $(PP_DIR)/oe_code_persons_person_children.c \ $(PP_DIR)/oe_code_persons_data.c \ $(PP_DIR)/oe_code_persons_person.cGEN_PP_O_FILES = \ $(GEN_PP_C_FILES:%.c=%.o)GEN_PP_H_FILES = \ $(PP_DIR)/oe_person.h \ $(PP_DIR)/persons.hGEN_PP_FILES = \ $(GEN_PP_C_FILES) \ $(GEN_PP_H_FILES)GEN_MS_C_FILES = \ $(MS_DIR)/oe_code_mnesia_AccessMode.c \ $(MS_DIR)/oe_code_mnesia_CheckpointDef.c \ $(MS_DIR)/oe_code_mnesia_Checkpoints.c \ $(MS_DIR)/oe_code_mnesia_AttrNames.c \ $(MS_DIR)/oe_code_mnesia_Indices.c \ $(MS_DIR)/oe_code_mnesia_KeyList.c \ $(MS_DIR)/oe_code_mnesia_NodeList.c \ $(MS_DIR)/oe_code_mnesia_Recordlist.c \ $(MS_DIR)/oe_code_mnesia_SetOrBag.c \ $(MS_DIR)/oe_code_mnesia_Status.c \ $(MS_DIR)/oe_code_mnesia_Storage.c \ $(MS_DIR)/oe_code_mnesia_SystemInfo.c \ $(MS_DIR)/oe_code_mnesia_TableDef.c \ $(MS_DIR)/oe_code_mnesia_TableInfo.c \ $(MS_DIR)/oe_code_mnesia_TableList.c \ $(MS_DIR)/oe_mnesia_session.c \ $(MS_DIR)/mnesia_connector.c \ $(MS_DIR)/mnesia_session.cGEN_MS_O_FILES = \ $(GEN_MS_C_FILES:%.c=%.o)GEN_MS_H_FILES = \ $(MS_DIR)/mnesia.h \ $(MS_DIR)/mnesia_connector.h \ $(MS_DIR)/mnesia_session.h \ $(MS_DIR)/oe_mnesia_session.h GEN_MS_FILES = \ $(GEN_MS_C_FILES) \ $(GEN_MS_H_FILES)COMMON_TARGET_FILES = \ $(GEN_MODULES:%=$(EBIN)/%.$(EMULATOR)) \ $(NORMAL_MODULES:%=$(EBIN)/%.$(EMULATOR))TARGET_FILES= \ $(COMMON_TARGET_FILES) \ $(GEN_PP_FILES) \ $(GEN_MS_FILES) DEV_TARGET_FILES= \ $(COMMON_TARGET_FILES) \ $(PROGRAM)# ----------------------------------------------------# FLAGS# ----------------------------------------------------ERL_COMPILE_FLAGS += -pa $(APP_DIR)/ebin \ -pa $(IC_DIR)/ebin \ -pa $(EI_DIR)/ebin \ -I $(PP_DIR) \ -I $(IC_DIR)/include# IncludesIFLAGS = -I$(APP_DIR)/include \ -I $(PP_DIR) \ -I $(MS_DIR) \ -I $(IC_DIR)/include \ -I $(EI_DIR)/include# Library pathsLDFLAGS += -L$(IC_DIR)/priv/lib \ -L$(EI_DIR)/libLDLIBS += -lic -lerl_interface -lei -lsocket -lnslCFLAGS += \ $(DEBUG_CFLAGS) \ $(IFLAGS)# DEBUG CC = /opt/SUNWspro/bin/cc# ----------------------------------------------------# Targets# ----------------------------------------------------opt: $(TARGET_FILES)debug: @${MAKE} TYPE=debugdev: $(DEV_TARGET_FILES) @${MAKE} TYPE=debugclean: rm -f $(TARGET_FILES) rm -f $(GEN_PP_O_FILES) $(GEN_MS_O_FILES) $(PROGRAM).o $(PROGRAM) rm -f $(GEN_MS_FILES) $(GEN_PP_FILES) rm -f $(GEN_ERL_FILES) rm -f coredocs:$(EBIN)/%.$(EMULATOR): $(PP_DIR)/%.erl $(ERLC) -b$(EMULATOR) $(ERL_COMPILE_FLAGS) -o$(EBIN) $<$(GEN_ERL_FILES): $(PERSON_IDL) $(ERLC) $(ERL_COMPILE_FLAGS) \ +'{be,erl_genserv}' +'{outdir,"./$(PP_DIR)"}' \ $(PERSON_IDL)$(GEN_PP_FILES): $(PERSON_IDL) $(ERLC) $(ERL_COMPILE_FLAGS) \ +'{be,c_genserv}' +'{outdir,"./$(PP_DIR)"}' \ $(PERSON_IDL)$(GEN_MS_FILES): $(ERL_TOP)/lib/mnesia_session/src/mnesia_session.idl $(ERLC) $(ERL_COMPILE_FLAGS) \ +'{be,c_genserv}' +'{outdir,"./$(MS_DIR)"}' \ $(ERL_TOP)/lib/mnesia_session/src/mnesia_session.idl$(GEN_MS_O_FILES): $(GEN_MS_C_FILES)$(GEN_PP_O_FILES): $(GEN_PP_C_FILES)$(PROGRAM).o: $(PROGRAM).c $(GEN_PP_C_FILES) $(GEN_MS_C_FILES)$(PROGRAM): $(PROGRAM).o $(GEN_PP_O_FILES) $(GEN_MS_O_FILES) $(CC) $(CFLAGS) $(PROGRAM).o $(GEN_PP_O_FILES) $(GEN_MS_O_FILES) -o $@ $(LDFLAGS) $(LDLIBS)info: @echo "" @echo "APP_DIR = $(APP_DIR)" @echo "PROGRAM = $(PROGRAM)" @echo "CFLAGS = $(CFLAGS)" @echo "LDFLAG = $(LDFLAGS)" @echo "LDLIBS = $(LDLIBS)" @echo ""# ----------------------------------------------------# Special Build Targets# ----------------------------------------------------#$(APP_TARGET): $(APP_SRC)# sed -e 's;%VSN%;$(VSN);' $(APP_SRC) > $(APP_TARGET)# ----------------------------------------------------# Release Target# ---------------------------------------------------- include $(ERL_TOP)/make/otp_release_targets.mkrelease_spec: opt $(INSTALL_DIR) $(RELSYSDIR) $(INSTALL_DIR) $(RELSYSDIR)/person $(INSTALL_DIR) $(RELSYSDIR)/person/c_session $(INSTALL_DIR) $(RELSYSDIR)/person/c_session/$(MS_DIR) $(INSTALL_DIR) $(RELSYSDIR)/person/c_session/$(PP_DIR) $(INSTALL_DATA) $(IDL_FILES) $(RELSYSDIR)/person $(INSTALL_DATA) Makefile $(RELSYSDIR)/person/c_session/Makefile.skel $(INSTALL_DATA) $(COMMON_TARGET_FILES) $(PROGRAM).c $(NORMAL_ERL_FILES) $(RELSYSDIR)/person/c_session $(INSTALL_DATA) $(GEN_PP_FILES) $(GEN_ERL_FILES) $(RELSYSDIR)/person/c_session/$(PP_DIR) $(INSTALL_DATA) $(GEN_MS_FILES) $(RELSYSDIR)/person/c_session/$(MS_DIR)release_docs_spec:
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?