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

📄 gnumakefile.multithreading_gracefulshutdown_server

📁 在使用ACE的多线程编程过程中用于测试的一段实例代码。
💻 MULTITHREADING_GRACEFULSHUTDOWN_SERVER
字号:
# -*- Makefile -*-
#----------------------------------------------------------------------------
#       GNU Makefile
#
# @file GNUmakefile.Multithreading_GracefulShutdown_Server
#
# $Id: gnu.mpd,v 1.1.1.2.2.28 2007/01/26 20:13:06 johnc Exp $
#
# This file was automatically generated by MPC.  Any changes made directly to
# this file will be lost the next time it is generated.
#
#----------------------------------------------------------------------------
MAKEFILE         = GNUmakefile.Multithreading_GracefulShutdown_Server
DEPENDENCY_FILE  = .depend.Multithreading_GracefulShutdown_Server
BIN_UNCHECKED    = MessengerServer

TAO_ROOT  ?= $(ACE_ROOT)/TAO

FILES = \
  MessengerC.cpp \
  MessengerS.cpp \
  Messenger_i.cpp \
  MessengerServer.cpp \
  MessengerShutdownTimer.cpp

#----------------------------------------------------------------------------
#       Include macros and targets
#----------------------------------------------------------------------------
LDLIBS = -lTAO_PortableServer -lTAO -lACE
TAO_IDL = ../../../../bin/tao_idl
TAO_IDL_DEP = ../../../../bin/tao_idl$(EXEEXT)
TAO_IDLFLAGS = -Sc -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I../../..

PRJ_TYPE = rtp

ifeq ($(INSBIN),.)
  ifeq ($(PWD),)
    PWD=$(shell pwd)
  endif
  INSBIN = $(PWD)
endif
OUTPUT_DIRECTORY = $(INSBIN)

include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU
## We don't need the ACELIB setting from wrapper_macros.GNU
ACELIB =

ifeq ($(versioned_so),1)
  SOVERSION = .1.4a.16
endif # versioned_so

tao_dont_use_idl_make_rule = 1
include $(TAO_ROOT)/rules.tao.GNU

# To build multiple targets in the same directory on AIX, it works
# best to have a template directory per project.
# The compiler/linker isn't too smart about instantiating templates...
ifdef TEMPINCDIR
TEMPINCDIR := $(TEMPINCDIR)/Multithreading_GracefulShutdown_Server
all: $(TEMPINCDIR)
endif

ifneq ($(OUTPUT_DIRECTORY),)
all: $(OUTPUT_DIRECTORY)
$(OUTPUT_DIRECTORY):
	-@$(MKDIR) "$(OUTPUT_DIRECTORY)"
endif

# turn off libcheck if doing a dry run
ifeq ($(findstring n, $(MAKEFLAGS)),n)
  LIBCHECK = 1
else
  # turn off libcheck if keep going was passed too
  ifeq ($(findstring k, $(MAKEFLAGS)),k)
    LIBCHECK = 1
  else
    LIBCHECK ?= $(filter-out $(foreach lib,TAO_PortableServer TAO ACE,$(findstring $(lib),$(foreach libpath,. ../../../../lib /usr/lib $(INSLIB),$(wildcard $(libpath)/lib$(lib).* $(libpath)/$(lib).lib)))),TAO_PortableServer TAO ACE)
    ifeq ($(LIBCHECK),)
      LIBCHECK = 1
    endif
  endif
endif
ifeq ($(exceptions),1)
ifeq ($(LIBCHECK), 1)
BIN    = $(BIN_UNCHECKED)$(EXEEXT)
else
  all: lib_warning
endif
else
  all: require_warning
endif

# If it contains ../ at all use notdir.
OBJS   = $(foreach var, $(addsuffix .$(OBJEXT), $(basename $(FILES)) $(RESOURCES)), $(if $(findstring ../,$(var)),$(notdir $(var)),$(var)))
SRC    = $(FILES)

include $(ACE_ROOT)/include/makeinclude/macros.GNU
include $(ACE_ROOT)/include/makeinclude/rules.common.GNU
include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU

ifneq ($(OUTPUT_DIRECTORY),)
ifneq ($(OUTPUT_DIRECTORY),.)
  INSTALL = $(VBIN:%=$(INSBIN)/%)
  CLEANUP_INSTALL += $(CLEANUP_BIN:%=$(INSBIN)/%$(VAR)$(EXEEXT))
endif
endif

include $(ACE_ROOT)/include/makeinclude/rules.local.GNU
ifeq ($(VXWORKSLINK),true)
include $(TGT_DIR)/h/make/rules.$(PRJ_TYPE)
endif

ifeq ($(VXWORKSLINK),true)
LDLIBPATH     = -L. -L../../../../lib
else
LDFLAGS      += -L. -L../../../../lib
endif
CPPFLAGS     += -I../../../.. -I../../..
ifeq ($(static_libs),1)
  CPPFLAGS += -DACE_AS_STATIC_LIBS -DTAO_AS_STATIC_LIBS
endif

#----------------------------------------------------------------------------
#       Local targets
#----------------------------------------------------------------------------
lib_warning:
	@echo This project will not be built due to the following missing library:
	@echo $(LIBCHECK)

require_warning:
	@echo This project will not be built due to one of the following missing features:
	@echo exceptions

## Some OS's have /bin/test others only have /usr/bin/test
ifeq ($(wildcard /bin/test), /bin/test)
  TEST_EXE = /bin/test
else
ifeq ($(wildcard /usr/bin/test), /usr/bin/test)
  TEST_EXE = /usr/bin/test
endif
endif

DYLD_LIBRARY_PATH := $(DYLD_LIBRARY_PATH):../../../../lib
LD_LIBRARY_PATH   := $(LD_LIBRARY_PATH):../../../../lib
SHLIB_PATH        := $(SHLIB_PATH):../../../../lib
LIBPATH           := $(LIBPATH):../../../../lib
PATH              := $(PATH):../../../../lib

GENERATED_DIRTY += MessengerC.inl MessengerS.inl MessengerC.h MessengerS.h MessengerC.cpp MessengerS.cpp
OBJS_DEPEND_ON_GENERATED = 1
## More than one file is generated by the command and therefore
## it can not be run in parallel.  Unfortunately, there is no way to
## say that only this rule can't be run in parallel.  However, we can
## determine if the generated files have already been generated.  If that's
## the case, then we don't need this special rule.
ifeq ($(wildcard $(GENERATED_DIRTY)), $(GENERATED_DIRTY))
  ## If we can find /bin/test, then we will continue
  ifneq ($(TEST_EXE),)
    ## If all of the generated files are there, then we need to check
    ## and make sure that the generated files are up-to-date.  If they are not
    ## then we need the special rule.
    ifneq ($(shell $(TEST_EXE) Messenger.idl -nt MessengerC.inl 2> /dev/null && $(TEST_EXE) Messenger.idl -nt MessengerS.inl 2> /dev/null && $(TEST_EXE) Messenger.idl -nt MessengerC.h 2> /dev/null && $(TEST_EXE) Messenger.idl -nt MessengerS.h 2> /dev/null && $(TEST_EXE) Messenger.idl -nt MessengerC.cpp 2> /dev/null && $(TEST_EXE) Messenger.idl -nt MessengerS.cpp 2> /dev/null && echo 0),)
      .NOTPARALLEL:
    else
      ## By this point, all of the generated files are here and up-to-date
      ## with respect to the source file.  Now we need to make sure that
      ## they are up-to-date with respect to the generation tool.  If the tool
      ## is newer than the generated files, then we need the special rule.
      ifneq ($(shell $(TEST_EXE) $(TAO_IDL_DEP) -nt MessengerC.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt MessengerS.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt MessengerC.h 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt MessengerS.h 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt MessengerC.cpp 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt MessengerS.cpp 2> /dev/null && echo 0),)
        .NOTPARALLEL:
      endif
    endif
  else
    .NOTPARALLEL:
  endif
else
.NOTPARALLEL:
endif
MessengerC.inl MessengerS.inl MessengerC.h MessengerS.h MessengerC.cpp MessengerS.cpp: Messenger.idl $(TAO_IDL_DEP)
	$(TAO_IDL) $(TAO_IDLFLAGS) Messenger.idl

ifneq ($(GENERATED_DIRTY),)
.PRECIOUS: $(GENERATED_DIRTY)
## If the generated files are anything but source files, we need to
## ensure that those files are generated before we attempt to build anything
## else.
ifeq ($(OBJS_DEPEND_ON_GENERATED),1)
$(VDIR)$(ACE_PCH_FILE) $(addprefix $(VDIR), $(OBJS)): $(GENERATED_DIRTY)
$(VSHDIR)$(ACE_PCH_FILE) $(VSHOBJS): $(GENERATED_DIRTY)
endif
endif

ADDITIONAL_IDL_TARGETS += Messenger$(IDL_CLIENT_HDR_EXT)
idl_stubs: $(ADDITIONAL_IDL_TARGETS)

# This assignment forces make to run the idl_stubs
# target before building any of the source files.
FORCED_IDL_STUBS = MessengerC.cpp MessengerS.cpp Messenger_i.cpp MessengerServer.cpp MessengerShutdownTimer.cpp
FORCED_IDL_STUBS := $(FORCED_IDL_STUBS:MessengerC.cpp=)
FORCED_IDL_STUBS := $(FORCED_IDL_STUBS:MessengerS.cpp=)

ifneq ($(FORCED_IDL_STUBS),)
$(FORCED_IDL_STUBS): idl_stubs
endif

ifneq ($(VXWORKSLINK),true)
ifeq ($(static_libs_only), 1)
  DEPLIBS = $(foreach lib, TAO_PortableServer TAO ACE , $(foreach libpath, . ../../../../lib, $(wildcard $(libpath)/lib$(lib).a)))
endif

$(BIN): $(addprefix $(VDIR), $(OBJS)) $(DEPLIBS)
ifndef kylix
	$(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $@ $^ $(VLDLIBS) $(POSTLINK)
else
	$(LINK.cc) $(LDFLAGS) $(CC_OUTPUT_FLAG) $(VLDLIBS) $(BORINITEXEOBJ) $(POSTLINK) $^, $@,,
endif
endif

realclean: clean
ifneq ($(GENERATED_DIRTY),)
	-$(RM) -r $(GENERATED_DIRTY)
endif

__prebuild__:
	@-:

⌨️ 快捷键说明

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