# -*- Makefile -*- #---------------------------------------------------------------------------- # GNU Makefile # # @file GNUmakefile.Benchmark_Receiver # # $Id: gnu.mpd,v 1.1.1.2.2.23 2006/03/15 18:51:41 elliottc 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.Benchmark_Receiver DEPENDENCY_FILE = .depend.Benchmark_Receiver BIN_UNCHECKED = Receiver TAO_ROOT ?= $(ACE_ROOT)/TAO FILES = \ benchC.cpp \ benchS.cpp \ cpx.cpp \ bench_i.cpp \ Receiver.cpp #---------------------------------------------------------------------------- # Include macros and targets #---------------------------------------------------------------------------- LDLIBS = -lTAO_CosNaming -lTAO_RTPortableServer -lTAO_RTCORBA -lTAO_PortableServer -lTAO -lACE TAO_IDL = $(ACE_ROOT)/bin/tao_idl TAO_IDL_DEP = $(ACE_ROOT)/bin/tao_idl$(EXEEXT) TAO_IDLFLAGS = -Sc -Ge 1 -Wb,pre_include=ace/pre.h -Wb,post_include=ace/post.h -I$(TAO_ROOT) 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 = tao_dont_use_idl_make_rule = 1 include $(TAO_ROOT)/rules.tao.GNU ifeq ($(versioned_so),1) SOVERSION = .1.4a.10 endif # 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)/Benchmark_Receiver 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_CosNaming TAO_RTPortableServer TAO_RTCORBA TAO_PortableServer TAO ACE,$(findstring $(lib),$(foreach libpath,. $(ACE_ROOT)/lib /usr/lib $(INSLIB),$(wildcard $(libpath)/lib$(lib).* $(libpath)/$(lib).lib)))),TAO_CosNaming TAO_RTPortableServer TAO_RTCORBA TAO_PortableServer TAO ACE) ifeq ($(LIBCHECK),) LIBCHECK = 1 endif endif endif ifeq ($(rt_corba),1) ifeq ($(exceptions),1) ifeq ($(LIBCHECK), 1) BIN = $(BIN_UNCHECKED)$(EXEEXT) else all: lib_warning endif else all: require_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$(ACE_ROOT)/lib else LDFLAGS += -L. -L$(ACE_ROOT)/lib endif CPPFLAGS += -I$(ACE_ROOT) -I$(TAO_ROOT) -I$(TAO_ROOT)/orbsvcs 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 rt_corba 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):$(ACE_ROOT)/lib LD_LIBRARY_PATH := $(LD_LIBRARY_PATH):$(ACE_ROOT)/lib SHLIB_PATH := $(SHLIB_PATH):$(ACE_ROOT)/lib LIBPATH := $(LIBPATH):$(ACE_ROOT)/lib PATH := $(PATH):$(ACE_ROOT)/lib GENERATED_DIRTY += benchC.inl benchS.inl benchC.h benchS.h benchC.cpp benchS.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) bench.idl -nt benchC.inl 2> /dev/null && $(TEST_EXE) bench.idl -nt benchS.inl 2> /dev/null && $(TEST_EXE) bench.idl -nt benchC.h 2> /dev/null && $(TEST_EXE) bench.idl -nt benchS.h 2> /dev/null && $(TEST_EXE) bench.idl -nt benchC.cpp 2> /dev/null && $(TEST_EXE) bench.idl -nt benchS.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 benchC.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS.inl 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchC.h 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS.h 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchC.cpp 2> /dev/null && $(TEST_EXE) $(TAO_IDL_DEP) -nt benchS.cpp 2> /dev/null && echo 0),) .NOTPARALLEL: endif endif else .NOTPARALLEL: endif else .NOTPARALLEL: endif benchC.inl benchS.inl benchC.h benchS.h benchC.cpp benchS.cpp: bench.idl $(TAO_IDL_DEP) $(TAO_IDL) $(TAO_IDLFLAGS) -I$(TAO_ROOT)/orbsvcs bench.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 += bench$(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 = benchC.cpp benchS.cpp cpx.cpp bench_i.cpp Receiver.cpp FORCED_IDL_STUBS := $(FORCED_IDL_STUBS:benchC.cpp=) FORCED_IDL_STUBS := $(FORCED_IDL_STUBS:benchS.cpp=) ifneq ($(FORCED_IDL_STUBS),) $(FORCED_IDL_STUBS): idl_stubs endif ifneq ($(VXWORKSLINK),true) ifeq ($(static_libs_only), 1) DEPLIBS = $(foreach lib, TAO_CosNaming TAO_RTPortableServer TAO_RTCORBA TAO_PortableServer TAO ACE , $(foreach libpath, . $(ACE_ROOT)/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