# -*- Makefile -*- #---------------------------------------------------------------------------- # GNU Makefile # # @file GNUmakefile.ACE # # $Id: gnu.mpd 85209 2009-04-29 09:47:19Z johnnyw $ # # 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.ACE DEPENDENCY_FILE = .depend.ACE LIB_PREFIX ?= lib ## LIB_CHECKED may be set to empty later on in this file LIB_UNCHECKED = $(LIB_PREFIX)ACE.$(LIBEXT) LIB_CHECKED = $(LIB_UNCHECKED) LIB_NAME = $(LIB_PREFIX)ACE ## SHLIB may be set to empty later on in this file SHLIB_UNCHECKED = $(LIB_PREFIX)ACE.$(SOEXT) SHLIB = $(SHLIB_UNCHECKED) FILES = \ Local_Name_Space.cpp \ Name_Proxy.cpp \ Name_Request_Reply.cpp \ Name_Space.cpp \ Naming_Context.cpp \ Registry_Name_Space.cpp \ Remote_Name_Space.cpp \ NT_Service.cpp \ Codecs.cpp \ Local_Tokens.cpp \ Remote_Tokens.cpp \ Token_Collection.cpp \ Token_Invariants.cpp \ Token_Manager.cpp \ Token_Request_Reply.cpp \ DLL.cpp \ Dynamic_Service_Base.cpp \ Dynamic_Service_Dependency.cpp \ Parse_Node.cpp \ Service_Config.cpp \ Service_Gestalt.cpp \ Service_Manager.cpp \ Service_Object.cpp \ Service_Repository.cpp \ Service_Types.cpp \ Shared_Object.cpp \ Svc_Conf_Lexer.cpp \ Svc_Conf_y.cpp \ Encoding_Converter.cpp \ Encoding_Converter_Factory.cpp \ UTF8_Encoding_Converter.cpp \ UTF16_Encoding_Converter.cpp \ UTF32_Encoding_Converter.cpp \ XML_Svc_Conf.cpp \ UUID.cpp \ Filecache.cpp \ ACE.cpp \ ACE_crc_ccitt.cpp \ ACE_crc32.cpp \ ace_wchar.cpp \ Activation_Queue.cpp \ Active_Map_Manager.cpp \ Addr.cpp \ Argv_Type_Converter.cpp \ Assert.cpp \ Asynch_IO.cpp \ Asynch_IO_Impl.cpp \ Asynch_Pseudo_Task.cpp \ ATM_Acceptor.cpp \ ATM_Addr.cpp \ ATM_Connector.cpp \ ATM_Params.cpp \ ATM_QoS.cpp \ ATM_Stream.cpp \ Atomic_Op.cpp \ Atomic_Op_Sparc.c \ Auto_Event.cpp \ Barrier.cpp \ Base_Thread_Adapter.cpp \ Based_Pointer_Repository.cpp \ Basic_Stats.cpp \ Basic_Types.cpp \ Capabilities.cpp \ CDR_Base.cpp \ CDR_Stream.cpp \ CDR_Size.cpp \ Cleanup.cpp \ Codeset_IBM1047.cpp \ Codeset_Registry.cpp \ Codeset_Registry_db.cpp \ Condition_Recursive_Thread_Mutex.cpp \ Condition_Thread_Mutex.cpp \ Configuration.cpp \ Configuration_Import_Export.cpp \ Connection_Recycling_Strategy.cpp \ Containers.cpp \ Copy_Disabled.cpp \ Countdown_Time.cpp \ Date_Time.cpp \ DEV.cpp \ DEV_Addr.cpp \ DEV_Connector.cpp \ DEV_IO.cpp \ DLL_Manager.cpp \ Dev_Poll_Reactor.cpp \ Dirent.cpp \ Dirent_Selector.cpp \ Dump.cpp \ Dynamic.cpp \ Dynamic_Message_Strategy.cpp \ Event.cpp \ Event_Handler.cpp \ FIFO.cpp \ FIFO_Recv.cpp \ FIFO_Recv_Msg.cpp \ FIFO_Send.cpp \ FIFO_Send_Msg.cpp \ FILE.cpp \ FILE_Addr.cpp \ FILE_Connector.cpp \ FILE_IO.cpp \ File_Lock.cpp \ Flag_Manip.cpp \ Framework_Component.cpp \ Functor.cpp \ Functor_String.cpp \ Get_Opt.cpp \ gethrtime.cpp \ Handle_Ops.cpp \ Handle_Set.cpp \ Hashable.cpp \ High_Res_Timer.cpp \ ICMP_Socket.cpp \ INET_Addr.cpp \ Init_ACE.cpp \ IO_SAP.cpp \ IO_Cntl_Msg.cpp \ IOStream.cpp \ IPC_SAP.cpp \ Lib_Find.cpp \ Local_Memory_Pool.cpp \ Lock.cpp \ Log_Msg.cpp \ Log_Msg_Backend.cpp \ Log_Msg_Callback.cpp \ Log_Msg_IPC.cpp \ Log_Msg_NT_Event_Log.cpp \ Log_Msg_UNIX_Syslog.cpp \ Log_Record.cpp \ Logging_Strategy.cpp \ LSOCK.cpp \ LSOCK_Acceptor.cpp \ LSOCK_CODgram.cpp \ LSOCK_Connector.cpp \ LSOCK_Dgram.cpp \ LSOCK_Stream.cpp \ Malloc.cpp \ Malloc_Allocator.cpp \ Manual_Event.cpp \ MEM_Acceptor.cpp \ MEM_Addr.cpp \ MEM_Connector.cpp \ MEM_IO.cpp \ Mem_Map.cpp \ MEM_SAP.cpp \ MEM_Stream.cpp \ Message_Block.cpp \ Message_Queue.cpp \ Message_Queue_NT.cpp \ Message_Queue_Vx.cpp \ Method_Request.cpp \ MMAP_Memory_Pool.cpp \ Msg_WFMO_Reactor.cpp \ Monitor_Admin.cpp \ Monitor_Admin_Manager.cpp \ Monitor_Base.cpp \ Monitor_Point_Registry.cpp \ Monitor_Size.cpp \ Monitor_Control_Types.cpp \ Monitor_Control_Action.cpp \ Multihomed_INET_Addr.cpp \ Mutex.cpp \ Netlink_Addr.cpp \ Notification_Strategy.cpp \ Notification_Queue.cpp \ Obchunk.cpp \ Object_Manager.cpp \ Object_Manager_Base.cpp \ OS_Errno.cpp \ OS_Log_Msg_Attributes.cpp \ OS_main.cpp \ OS_NS_arpa_inet.cpp \ OS_NS_ctype.cpp \ OS_NS_dirent.cpp \ OS_NS_dlfcn.cpp \ OS_NS_errno.cpp \ OS_NS_fcntl.cpp \ OS_NS_math.cpp \ OS_NS_netdb.cpp \ OS_NS_poll.cpp \ OS_NS_pwd.cpp \ OS_NS_regex.cpp \ OS_NS_signal.cpp \ OS_NS_stdio.cpp \ OS_NS_stdlib.cpp \ OS_NS_string.cpp \ OS_NS_strings.cpp \ OS_NS_stropts.cpp \ OS_NS_sys_mman.cpp \ OS_NS_sys_msg.cpp \ OS_NS_sys_resource.cpp \ OS_NS_sys_select.cpp \ OS_NS_sys_sendfile.cpp \ OS_NS_sys_shm.cpp \ OS_NS_sys_socket.cpp \ OS_NS_sys_stat.cpp \ OS_NS_sys_time.cpp \ OS_NS_sys_uio.cpp \ OS_NS_sys_utsname.cpp \ OS_NS_sys_wait.cpp \ OS_NS_Thread.cpp \ OS_NS_time.cpp \ OS_NS_unistd.cpp \ OS_NS_wchar.cpp \ OS_NS_wctype.cpp \ OS_QoS.cpp \ OS_Thread_Adapter.cpp \ OS_TLI.cpp \ Pagefile_Memory_Pool.cpp \ PI_Malloc.cpp \ Ping_Socket.cpp \ Pipe.cpp \ POSIX_Asynch_IO.cpp \ POSIX_CB_Proactor.cpp \ POSIX_Proactor.cpp \ Priority_Reactor.cpp \ Proactor.cpp \ Proactor_Impl.cpp \ Process.cpp \ Process_Manager.cpp \ Process_Mutex.cpp \ Process_Semaphore.cpp \ Profile_Timer.cpp \ Reactor.cpp \ Reactor_Impl.cpp \ Reactor_Notification_Strategy.cpp \ Reactor_Timer_Interface.cpp \ Read_Buffer.cpp \ Recursive_Thread_Mutex.cpp \ Recyclable.cpp \ Registry.cpp \ Rtems_init.c \ RW_Mutex.cpp \ RW_Process_Mutex.cpp \ RW_Thread_Mutex.cpp \ Sample_History.cpp \ Sbrk_Memory_Pool.cpp \ Sched_Params.cpp \ Select_Reactor_Base.cpp \ Semaphore.cpp \ Shared_Memory.cpp \ Shared_Memory_MM.cpp \ Shared_Memory_Pool.cpp \ Shared_Memory_SV.cpp \ Sig_Adapter.cpp \ Sig_Handler.cpp \ Signal.cpp \ SOCK.cpp \ SOCK_Acceptor.cpp \ SOCK_CODgram.cpp \ Sock_Connect.cpp \ SOCK_Connector.cpp \ SOCK_Dgram.cpp \ SOCK_Dgram_Bcast.cpp \ SOCK_Dgram_Mcast.cpp \ SOCK_IO.cpp \ SOCK_Netlink.cpp \ SOCK_SEQPACK_Acceptor.cpp \ SOCK_SEQPACK_Association.cpp \ SOCK_SEQPACK_Connector.cpp \ SOCK_Stream.cpp \ SPIPE.cpp \ SPIPE_Acceptor.cpp \ SPIPE_Addr.cpp \ SPIPE_Connector.cpp \ SPIPE_Stream.cpp \ SString.cpp \ Stack_Trace.cpp \ Stats.cpp \ String_Base_Const.cpp \ SUN_Proactor.cpp \ SV_Message.cpp \ SV_Message_Queue.cpp \ SV_Semaphore_Complex.cpp \ SV_Semaphore_Simple.cpp \ SV_Shared_Memory.cpp \ Synch_Options.cpp \ System_Time.cpp \ Task.cpp \ Thread.cpp \ Thread_Adapter.cpp \ Thread_Control.cpp \ Thread_Exit.cpp \ Thread_Hook.cpp \ Thread_Manager.cpp \ Thread_Mutex.cpp \ Thread_Semaphore.cpp \ Throughput_Stats.cpp \ Time_Value.cpp \ Timeprobe.cpp \ TLI.cpp \ TLI_Acceptor.cpp \ TLI_Connector.cpp \ TLI_Stream.cpp \ Token.cpp \ TP_Reactor.cpp \ Trace.cpp \ TSS_Adapter.cpp \ TTY_IO.cpp \ UNIX_Addr.cpp \ UPIPE_Acceptor.cpp \ UPIPE_Connector.cpp \ UPIPE_Stream.cpp \ WFMO_Reactor.cpp \ WIN32_Asynch_IO.cpp \ WIN32_Proactor.cpp \ XTI_ATM_Mcast.cpp #---------------------------------------------------------------------------- # Include macros and targets #---------------------------------------------------------------------------- ACE_SHLIBS = PRJ_TYPE = library INSLIB ?= ../lib ifeq ($(INSLIB),.) ifeq ($(CURDIR),) ifeq ($(PWD),) PWD=$(shell pwd) endif else PWD=$(CURDIR) endif INSLIB = $(PWD) endif OUTPUT_DIRECTORY = $(INSLIB) include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU ifneq (,$(RC)) RESOURCES += \ ace.rc RC_INCLUDE_FLAG ?= --include-dir= RCFLAGS = \ $(RC_INCLUDE_FLAG).. 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)/ACE all: $(TEMPINCDIR) endif ifneq ($(OUTPUT_DIRECTORY),) all: $(OUTPUT_DIRECTORY) $(OUTPUT_DIRECTORY): -@$(MKDIR) "$(OUTPUT_DIRECTORY)" endif LIBCHECK = 1 ifneq ($(ace_for_tao),1) ifneq ($(LIBCHECK), 1) LIB_CHECKED = SHLIB = all: lib_warning endif else LIB_CHECKED = SHLIB = all: avoid_warning endif ifneq ($(ace_for_tao),1) else LIB_CHECKED = SHLIB = all: avoid_warning endif LSRC = $(FILES) include $(ACE_ROOT)/include/makeinclude/macros.GNU include $(ACE_ROOT)/include/makeinclude/rules.common.GNU include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU include $(ACE_ROOT)/include/makeinclude/rules.lib.GNU include $(ACE_ROOT)/include/makeinclude/rules.local.GNU ifeq ($(VXWORKSLINK),1) include $(TGT_DIR)/h/make/rules.$(PRJ_TYPE) endif ifeq ($(VXWORKSLINK),1) LDLIBPATH = -L. -L../lib else LDFLAGS += -L. -L../lib endif CPPFLAGS += -I.. ifeq ($(shared_libs),1) ifneq ($(SHLIB),) CPPFLAGS += -DACE_BUILD_DLL endif endif ifeq ($(static_libs),1) CPPFLAGS += -DACE_AS_STATIC_LIBS endif #---------------------------------------------------------------------------- # Local targets #---------------------------------------------------------------------------- Svc_Conf_y.cpp: Svc_Conf.y ifeq ($(notdir $(YACC)), bison) $(YACC) -l -d Svc_Conf.y sed -e 's/fprintf/ACE_OS::fprintf/g' \ -e 's/\t/ /g' \ -e 's/yy/ace_yy/g' \ -e 's/->ace_yyerrno/->yyerrno/g' \ -e 's/->ace_yylineno/->yylineno/g' \ -e 's/ NULL/ 0/g' \ -e 's/ace_yyerror[ ]*([ ]*"/ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, "/g' \ -e 's/ace_yyerror[ ]*([ ]*ace_yymsg/ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, ace_yymsg/g' \ -e 's/ace_yyerror[ ]*([ ]*YY_/ace_yyerror (ACE_SVC_CONF_PARAM->yyerrno, ACE_SVC_CONF_PARAM->yylineno, YY_/g' \ -e 's@#include @@' \ -e 's/Svc_Conf\.tab\.c/Svc_Conf_y.cpp/g' $@ $(RM) -f Svc_Conf.tab.c Svc_Conf_y.cpp.orig else @echo 'ERROR: You must use bison 1.35 or higher to process this file' @/bin/false endif Svc_Conf_Token_Table.h: Svc_Conf.y Svc_Conf_y.cpp ifeq ($(notdir $(YACC)), bison) mv Svc_Conf.tab.h Svc_Conf_Token_Table.h else @echo 'ERROR: You must use bison 1.35 or higher to process this file' @/bin/false endif lib_warning: @echo ACE will not be built due to the following missing library: @echo $(LIBCHECK) avoid_warning: @echo ACE will not be built due to one of the following enabled make macros: @echo ace_for_tao ## 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 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 realclean: clean ifneq ($(GENERATED_DIRTY),) -$(RM) -r $(GENERATED_DIRTY) endif __prebuild__: @-: