AM_CFLAGS = $(ORB_CFLAGS) AM_CXXFLAGS = $(ORB_CXXFLAGS) AM_CPPFLAGS = $(ORB_CPPFLAGS) -I@top_srcdir@/config -I. -I$(ORB_COS_INC_DIR) AM_IDLCPPFLAGS = $(ORB_CPPFLAGS) -I$(CIPRES_IDL_DIR) -I$(ORB_COSS_IDL_DIRS) AM_LDFLAGS = $(ORB_LDFLAGS) #added in an attempt to avoid automake-idl SUFFIXES: .cpp .hpp .idl .lo .o .obj IDLCCOMPILE = $(IDLC) $(DEFS) $(DEFAULT_INCLUDES) $(IDLCPPFLAGS) \ $(AM_IDLCPPFLAGS) $(IDLCXXFLAGS) $(AM_IDLCXXFLAGS) CIPRES_IDL_PREFIXES = \ Admin \ IO \ MyTreeBase \ Types CIPRES_IDL_SUBDIR = $(CIPRES_IDL_DIR)/api2 CIPRES_IDL_FULL_PATHS = \ $(CIPRES_IDL_SUBDIR)/Admin.idl \ $(CIPRES_IDL_SUBDIR)/IO.idl \ $(CIPRES_IDL_SUBDIR)/MyTreeBase.idl \ $(CIPRES_IDL_SUBDIR)/Types.idl ORB_IDL_IN_CIPRES_FULL_PATHS = \ $(ORB_COSS_IDL_DIRS)/CosEventComm.idl \ $(ORB_COSS_IDL_DIRS)/CosEventChannelAdmin.idl FILES_FROM_CIPRES_IDL = \ Admin.cpp \ Admin.hpp \ IO.cpp \ IO.hpp \ MyTreeBase.cpp \ MyTreeBase.hpp \ Types.cpp \ Types.hpp FILES_FROM_ORB_IDL_IN_CIPRES = \ CosEventComm.cpp \ CosEventComm.hpp \ CosEventChannelAdmin.cpp \ CosEventChannelAdmin.hpp noinst_LTLIBRARIES = libcipres_gen_two.la GENERATED_HEADER_FILES = $(foreach file, $(CIPRES_IDL_PREFIXES), $(foreach ext, .hpp, $(file)$(ext))) libcipres_gen_two_idir = $(pkgincludedir)/CipresIDL/api2 libcipres_gen_two_i_HEADERS = $(GENERATED_HEADER_FILES) #libcipres_gen_two_la_LDFLAGS = -static libcipres_gen_two_la_SOURCES = \ $(CIPRES_IDL_FULL_PATHS) \ $(FILES_FROM_CIPRES_IDL) # Including ORB_IDL_IN_CIPRES_FULL_PATHS in libcipres_gen_two_la_SOURCES was # causing problems with mth's make dist target: # cp: .//Users/mholder/installed/jointOmniORB-4.0.7/share/idl/omniORB/COS/CosEventComm.idl: No such file or directory # caused by concatenating ./ with an abs path. # Besides, we probably shouldn't be distributing ORB files CLEANFILES = $(FILES_FROM_ORB_IDL_IN_CIPRES) $(FILES_FROM_CIPRES_IDL) IDLGEN_EXT = .hpp .cpp # below are our "hand written" rules that specify how to generate cpp and hpp files from idl and how the objects depend on them. # COS generated sources: depend on nothing. Build in cwd by running idlccompile. # sed command is stripping suffix from generated filename $(foreach file, $(FROM_ORB_PREFIXES), $(foreach ext, $(IDLGEN_EXT), $(file)$(ext))): @idltag=`echo "$@" | $(EXSED) -e 's:(.*/)?([a-zA-Z]*)\..*:\2:'`; echo compiling $@; $(IDLCCOMPILE) $(ORB_COSS_IDL_DIRS)/$$idltag.idl # .hpp and .cpp generated from our .idl: depend on COS generated files and our .idl $(foreach file, $(CIPRES_IDL_PREFIXES), $(foreach ext, $(IDLGEN_EXT), $(file)$(ext))): $(addsuffix .idl, $(foreach idlfile, $(CIPRES_IDL_PREFIXES), $(CIPRES_IDL_SUBDIR)/$(idlfile))) $(foreach file, $(FROM_ORB_PREFIXES), $(foreach ext, $(IDLGEN_EXT), $(file)$(ext))) @idltag=`echo "$@" | $(EXSED) -e 's:(.*/)?([a-zA-Z]*)\..*:\2:'`; echo compiling $@; $(IDLCCOMPILE) $(CIPRES_IDL_SUBDIR)/$$idltag.idl # each .lo for generated files: depend on all generated .cpps # should be built using default .cpp:.lo rule $(foreach file, $(CIPRES_IDL_PREFIXES), $(file).lo): $(addsuffix .cpp, $(foreach idlfile, $(CIPRES_IDL_PREFIXES), $(idlfile)))