makefile.in
来自「OTP是开放电信平台的简称」· IN 代码 · 共 896 行 · 第 1/2 页
IN
896 行
# ``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$################################################################################ This is a standalone make file for erl_interface. It is## to be preprocessed by the configure script and the result## is saved into the TARGER directory.#### We use 'vpath' to use plain C file names without the directory## part in dependency rules.#############################################################################.PHONY : debug opt release clean distclean dependTARGET = @TARGET@# ----------------------------------------------------# Application version and release dir specification# ----------------------------------------------------include ../vsn.mkinclude $(TARGET)/eidefs.mkUSING_MINGW=@MIXED_CYGWIN_MINGW@USING_VC=@MIXED_CYGWIN_VC@ifdef TESTROOTRELEASE_PATH=$(TESTROOT)elseRELEASE_PATH=$(ERL_TOP)/release/$(TARGET)endifRELSYSDIR = $(RELEASE_PATH)/lib/erl_interface-$(EI_VSN)# ----------------------------------------------------# XXXX# ----------------------------------------------------ifeq ($(TYPE),debug)PURIFY =TYPEMARKER = .debugTYPE_FLAGS = -g -DDEBUGifeq ($(TARGET),win32)LDFLAGS += -gendifelseifeq ($(TYPE),purify)PURIFY = purifyTYPEMARKER = .purifyTYPE_FLAGS = -DPURIFY -DNO_JUMP_TABLEelseifeq ($(TYPE),quantify)PURIFY = quantifyTYPEMARKER = .quantifyTYPE_FLAGS = -g -O2 -DQUANTIFYelseifeq ($(TYPE),purecov)PURIFY = purecov --follow-child-processes=yesTYPEMARKER = .purecovTYPE_FLAGS = -g -DPURECOV -DNO_JUMP_TABLEelsePURIFY =TYPEMARKER =TYPE_FLAGS =endifendifendifendifCC = @CC@LD = @LD@AR = @AR@RANLIB = @RANLIB@INCFLAGS = -I. -I../include -Iconnect -Iencode -Idecode -Imisc -Iepmd \ -Iregistry -I$(TARGET) ifeq ($(USING_VC),yes)WARNFLAGS = -WallelseWARNFLAGS = @WFLAGS@endififneq ($(findstring ose,$(TARGET)),ose)CFLAGS = @DED_CFLAGS@ $(WARNFLAGS) $(INCFLAGS) $(TYPE_FLAGS)elseCFLAGS = @CFLAGS@ $(INCFLAGS)endifPROG_CFLAGS = @CFLAGS@ $(WARNFLAGS) $(INCFLAGS) $(TYPE_FLAGS) -Ilegacyifeq ($(findstring vxworks,$(TARGET)),vxworks)PROG_CFLAGS += -nostartfiles -Wl,-r,-dendifLIBS = @LIBS@INSTALL = @INSTALL@INSTALL_DIR = @INSTALL_DIR@INSTALL_DATA = @INSTALL_DATA@INSTALL_PROGRAM = @INSTALL_PROGRAM@# The default library (no extra extension in name) is for Unix with# thread support if exists. For windows MD is the default.## ST = single threaded (Unix without thread support)# MT = multi threaded (on windows also static linking)# MD = multithreaded dynamic (default for cygwin cc wrapper)# MDD = multithreaded dynamic with debug symbols#ST_OBJDIR = $(ERL_TOP)/lib/erl_interface/obj.st$(TYPEMARKER)/$(TARGET)MT_OBJDIR = $(ERL_TOP)/lib/erl_interface/obj.mt$(TYPEMARKER)/$(TARGET)MD_OBJDIR = $(ERL_TOP)/lib/erl_interface/obj.md$(TYPEMARKER)/$(TARGET)MDD_OBJDIR = $(ERL_TOP)/lib/erl_interface/obj.mdd$(TYPEMARKER)/$(TARGET)OBJDIR = $(ERL_TOP)/lib/erl_interface/obj$(TYPEMARKER)/$(TARGET)BINDIR = $(ERL_TOP)/lib/erl_interface/bin/$(TARGET)# FIXME maybe use this opt and remove (int) cast to is*() functions# -Wno-char-subscripts# -Wshadowvpath %.c connect:encode:decode:misc:epmd:legacy:registry############################################################################ List targets###########################################################################ifeq ($(TARGET),win32)EXE=.exeelseEXE=endififeq ($(USING_VC),yes)LIBEXT=.libLIBPRE=MTFLAG=-MTelseLIBEXT=.aLIBPRE=libMTFLAG=endif############################################################################ Specify targets names###########################################################################ERL_CALL = $(BINDIR)/erl_call$(EXE)ifdef THR_DEFSST_EILIB = $(OBJDIR)/$(LIBPRE)ei_st$(LIBEXT)ST_ERLLIB = $(OBJDIR)/$(LIBPRE)erl_interface_st$(LIBEXT)MT_EILIB = $(OBJDIR)/$(LIBPRE)ei$(LIBEXT)MT_ERLLIB = $(OBJDIR)/$(LIBPRE)erl_interface$(LIBEXT)elseST_EILIB = $(OBJDIR)/$(LIBPRE)ei$(LIBEXT)ST_ERLLIB = $(OBJDIR)/$(LIBPRE)erl_interface$(LIBEXT)endifMD_EILIB = $(OBJDIR)/$(LIBPRE)ei_md$(LIBEXT)MDD_EILIB = $(OBJDIR)/$(LIBPRE)ei_mdd$(LIBEXT)MD_ERLLIB = $(OBJDIR)/$(LIBPRE)erl_interface_md$(LIBEXT)MDD_ERLLIB = $(OBJDIR)/$(LIBPRE)erl_interface_mdd$(LIBEXT)############################################################################ Specify targets to build###########################################################################ifneq ($(findstring ose,$(TARGET)),ose)EXE_TARGETS = \ $(ERL_CALL)elseEXE_TARGETS = endififeq ($(USING_VC),yes)# Windows targetsTARGETS = \ $(BINDIR) \ $(OBJDIR) \ $(MT_OBJDIR) \ $(MD_OBJDIR) \ $(MDD_OBJDIR) \ $(OBJ_TARGETS) \ $(EXE_TARGETS)OBJ_TARGETS = \ $(MT_EILIB) \ $(MD_EILIB) \ $(MDD_EILIB) \ $(MT_ERLLIB) \ $(MD_ERLLIB) \ $(MDD_ERLLIB)FAKE_TARGETS = \ $(OBJDIR)/erl_fake_prog_mt$(EXE) \ $(OBJDIR)/ei_fake_prog_mt$(EXE) \ $(OBJDIR)/erl_fake_prog_mt_cxx$(EXE) \ $(OBJDIR)/ei_fake_prog_mt_cxx$(EXE) \ $(OBJDIR)/erl_fake_prog_md$(EXE) \ $(OBJDIR)/ei_fake_prog_md$(EXE) \ $(OBJDIR)/erl_fake_prog_cxx_md$(EXE) \ $(OBJDIR)/ei_fake_prog_cxx_md$(EXE) \ $(OBJDIR)/erl_fake_prog_mdd$(EXE) \ $(OBJDIR)/ei_fake_prog_mdd$(EXE) \ $(OBJDIR)/erl_fake_prog_cxx_mdd$(EXE) \ $(OBJDIR)/ei_fake_prog_cxx_mdd$(EXE) \elseifeq ($USING_MINGW,yes)TARGETS = \ $(BINDIR) \ $(OBJDIR) \ $(MD_OBJDIR) \ $(OBJ_TARGETS) \ $(EXE_TARGETS)OBJ_TARGETS = \ $(MD_EILIB) \ $(MD_ERLLIB)FAKE_TARGETS = \ $(OBJDIR)/erl_fake_prog_md$(EXE) \ $(OBJDIR)/ei_fake_prog_md$(EXE) \ $(OBJDIR)/erl_fake_prog_cxx_md$(EXE) \ $(OBJDIR)/ei_fake_prog_cxx_md$(EXE) else# Unix targetsifdef THR_DEFSTARGETS = \ $(BINDIR) \ $(OBJDIR) \ $(ST_OBJDIR) \ $(MT_OBJDIR) \ $(OBJ_TARGETS) \ $(EXE_TARGETS)OBJ_TARGETS = \ $(ST_EILIB) \ $(ST_ERLLIB) \ $(MT_EILIB) \ $(MT_ERLLIB)FAKE_TARGETS = \ $(ST_OBJDIR)/erl_fake_prog_st$(EXE) \ $(ST_OBJDIR)/ei_fake_prog_st$(EXE) \ $(ST_OBJDIR)/erl_fake_prog_cxx_st$(EXE) \ $(ST_OBJDIR)/ei_fake_prog_cxx_st$(EXE) \ $(MT_OBJDIR)/erl_fake_prog_mt$(EXE) \ $(MT_OBJDIR)/ei_fake_prog_mt$(EXE) \ $(MT_OBJDIR)/erl_fake_prog_mt_cxx$(EXE) \ $(MT_OBJDIR)/ei_fake_prog_mt_cxx$(EXE)elseTARGETS = \ $(BINDIR) \ $(OBJDIR) \ $(ST_OBJDIR) \ $(OBJ_TARGETS) \ $(EXE_TARGETS)OBJ_TARGETS = \ $(ST_EILIB) \ $(ST_ERLLIB)FAKE_TARGETS = \ $(ST_OBJDIR)/erl_fake_prog_st$(EXE) \ $(ST_OBJDIR)/ei_fake_prog_st$(EXE) \ $(ST_OBJDIR)/erl_fake_prog_cxx_st$(EXE) \ $(ST_OBJDIR)/ei_fake_prog_cxx_st$(EXE)endifendifendif############################################################################ List all source files############################################################################ FIXME do we need dummy here for XX.h that was needed before??HEADERS = \ ../include/ei.h \ ../include/ei_connect.h \ ../include/eicode.h \ ../include/erl_interface.hEISOURCES = \ $(CONNECTSRC) \ $(DECODESRC) \ $(ENCODESRC) \ $(EPMDSRC) \ $(MISCSRC) \ $(REGISTRYSRC)CONNECTSRC = \ connect/ei_connect.c \ connect/ei_resolve.c \ connect/eirecv.c \ connect/send.c \ connect/send_exit.c \ connect/send_reg.cDECODESRC = \ decode/decode_atom.c \ decode/decode_big.c \ decode/decode_bignum.c \ decode/decode_binary.c \ decode/decode_boolean.c \ decode/decode_char.c \ decode/decode_double.c \ decode/decode_fun.c \ decode/decode_intlist.c \ decode/decode_list_header.c \ decode/decode_long.c \ decode/decode_pid.c \ decode/decode_port.c \ decode/decode_ref.c \ decode/decode_skip.c \ decode/decode_string.c \ decode/decode_trace.c \ decode/decode_tuple_header.c \ decode/decode_ulong.c \ decode/decode_version.c \ $(DECODESRC_LONGLONG)ifneq ($(findstring vxworks,$(TARGET)),vxworks)DECODESRC_LONGLONG = \ decode/decode_longlong.c \ decode/decode_ulonglong.celseDECODESRC_LONGLONG =endifENCODESRC = \ encode/encode_atom.c \ encode/encode_bignum.c \ encode/encode_binary.c \ encode/encode_boolean.c \ encode/encode_char.c \ encode/encode_double.c \ encode/encode_fun.c \ encode/encode_list_header.c \ encode/encode_long.c \ encode/encode_pid.c \ encode/encode_port.c \ encode/encode_ref.c \ encode/encode_string.c \ encode/encode_trace.c \ encode/encode_tuple_header.c \ encode/encode_ulong.c \ encode/encode_version.c \ $(ENCODESRC_LONGLONG)ifneq ($(findstring vxworks,$(TARGET)),vxworks)ENCODESRC_LONGLONG = \ encode/encode_longlong.c \ encode/encode_ulonglong.celseENCODESRC_LONGLONG =endifEPMDSRC = \ epmd/epmd_port.c \ epmd/epmd_publish.c \ epmd/epmd_unpublish.cMISCSRC = \ misc/ei_decode_term.c \ misc/ei_format.c \ misc/ei_locking.c \ misc/ei_malloc.c \ misc/ei_portio.c \ misc/ei_printterm.c \ misc/ei_pthreads.c \ misc/ei_trace.c \ misc/ei_x_encode.c \ misc/eimd5.c \ misc/get_type.c \ misc/show_msg.c \ misc/ei_compat.cREGISTRYSRC = \ registry/hash_dohash.c \ registry/hash_foreach.c \ registry/hash_freetab.c \ registry/hash_insert.c \ registry/hash_isprime.c \ registry/hash_lookup.c \ registry/hash_newtab.c \ registry/hash_remove.c \ registry/hash_resize.c \ registry/hash_rlookup.c \ registry/reg_close.c \ registry/reg_delete.c \ registry/reg_dirty.c \ registry/reg_dump.c \ registry/reg_free.c \ registry/reg_get.c \ registry/reg_getf.c \ registry/reg_geti.c \ registry/reg_getp.c \ registry/reg_gets.c \ registry/reg_make.c \ registry/reg_open.c \ registry/reg_purge.c \ registry/reg_resize.c \ registry/reg_restore.c \ registry/reg_set.c \ registry/reg_setf.c \ registry/reg_seti.c \ registry/reg_setp.c \ registry/reg_sets.c \ registry/reg_stat.c \ registry/reg_tabstat.cERLSOURCES = \ legacy/decode_term.c \ legacy/encode_term.c \ legacy/erl_connect.c \ legacy/erl_error.c \ legacy/erl_eterm.c \
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?