IDL dependency tracking
- From: Maciej Stachowiak <mjs noisehavoc org>
- To: orbit-list gnome org
- Cc: gnome-2-0-list gnome org
- Subject: IDL dependency tracking
- Date: Tue, 14 Aug 2001 01:36:22 -0700
Here's a patch that adds dependency tracking support to the ORBit2 IDL
compiler, and uses the new feature throughout the build. I also
sanitized the IDL build in other ways while I was at it. No more
infinite loops of error output when you make a mistake in an IDL
file. :-)
ORBit2 passes `make distcheck' with this, for me anyway. gmake-isms
are properly restricted to maintainer-mode.
Does anyone object to this? Once I get this in I'd like to fix IDL
compilation for the rest of GNOME 2.
Index: ChangeLog
===================================================================
RCS file: /cvs/gnome/ORBit2/ChangeLog,v
retrieving revision 1.122
diff -u -p -r1.122 ChangeLog
--- ChangeLog 2001/08/13 22:39:41 1.122
+++ ChangeLog 2001/08/14 08:21:45
@@ -1,3 +1,46 @@
+2001-08-13 Maciej Stachowiak <mjs noisehavoc org>
+
+ Implemented dependency tracking in the IDL compiler (much like the
+ similar feature of gcc) and use it everywhere.
+
+ * src/idl-compiler/orbit-idl-c-deps.c (orbit_idl_output_c_deps,
+ output_deps): New pass that outputs dependency info in a format
+ suitable for including into a Makefile.
+ * src/idl-compiler/orbit-idl-main.c (main): Add a --deps switch
+ which takes a filename argument.
+ * src/idl-compiler/orbit-idl-c-backend.h,
+ src/idl-compiler/orbit-idl-c-backend.c (orbit_idl_output_c):
+ Output dependencies when requested.
+ (orbit_idl_c_filename_for_pass, out_for_pass): Split out the code
+ that generates the output filename for each pass and make it
+ public, to help the new dependency pass.
+ * src/idl-compiler/orbit-idl-driver.c (orbit_idl_to_backend):
+ Always pass IDLF_SRCFILES flag, since SRCFILE nodes are required
+ by the dependency generation pass.
+ * src/idl-compiler/orbit-idl-c-headers.c (ch_output_types): Only
+ output weird stuff for SRCFILE nodes when suppressing includes.
+ * src/idl-compiler/orbit-idl3-types.h: Add dependency pass and a
+ #define for the number of passes, to help avoid magic numbers in
+ code.
+ * src/idl-compiler/Makefile.am: Add orbit-idl-c-deps.c to build.
+
+ * Makefile.shared: Common Makefile segment that has the
+ appropriate rules for building IDL files and generating dependency
+ info for targets of IDL sources.
+
+ * include/orbit/dynamic/Makefile.am,
+ include/orbit/orb-core/Makefile.am, include/orbit/poa/Makefile.am,
+ src/orb/dynamic/Makefile.am, src/orb/include/Makefile.am,
+ src/orb/orb-core/Makefile.am, src/orb/poa/Makefile.am,
+ src/services/name/Makefile.am, test/Makefile.am,
+ test/everything/Makefile.am, test/inhibit/Makefile.am,
+ test/poa/Makefile.am: Use Makefile.shared and IDL dependencies to
+ simplify and sanitize IDL compilation.
+
+ * include/orbit/dynamic/.cvsignore,
+ include/orbit/orb-core/.cvsignore, include/orbit/poa/.cvsignore:
+ Ignore .deps directories.
+
2001-08-14 Michael Meeks <michael ximian com>
* src/idl-compiler/orbit-idl-c-headers.c
Index: Makefile.shared
===================================================================
RCS file: Makefile.shared
diff -N Makefile.shared
--- /dev/null Tue May 5 16:32:27 1998
+++ Makefile.shared Tue Aug 14 04:21:45 2001
@@ -0,0 +1,19 @@
+IDL_COMPILER = $(top_builddir)/src/idl-compiler/orbit-idl
+
+%.h %-stubs.c %-skels.c %-common.c %-imodule.c %-skelimpl.c: $(IDL_DIR)%.idl $(IDL_COMPILER)
+ -(rm -f $(*).h $(*)-stubs.c $(*)-skels.c $(*)-common.c $(*)-imodule.c $(*)-skelimpl.c || true) > /dev/null
+ $(IDL_COMPILER) $(IDL_FLAGS) --deps .deps/$*.idl.P $<
+ for I in $(*).h $(*)-stubs.c $(*)-skels.c $(*)-common.c $(*)-imodule.c $(*)-skelimpl.c; do \
+ if test -f $$I; then \
+ sed -e 's,OObject,Object,g' -e 's,TTypeCode,TypeCode,g' $$I > $$I.out; \
+ mv $$I.out $$I ; \
+ fi; \
+ done
+
+if MAINTAINER_MODE
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+IDL_DEP_FILES = $(IDL_FILES:%.idl=.deps/%.idl.P)
+-include $(IDL_DEP_FILES)
+distclean-local:
+ -rm -rf .deps
+endif
Index: include/orbit/dynamic/.cvsignore
===================================================================
RCS file: /cvs/gnome/ORBit2/include/orbit/dynamic/.cvsignore,v
retrieving revision 1.2
diff -u -p -r1.2 .cvsignore
--- include/orbit/dynamic/.cvsignore 2001/03/22 12:37:55 1.2
+++ include/orbit/dynamic/.cvsignore 2001/08/14 08:21:45
@@ -1,3 +1,4 @@
Makefile
Makefile.in
dynamic-defs.h
+.deps
Index: include/orbit/dynamic/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/include/orbit/dynamic/Makefile.am,v
retrieving revision 1.2
diff -u -p -r1.2 Makefile.am
--- include/orbit/dynamic/Makefile.am 2001/06/19 15:01:24 1.2
+++ include/orbit/dynamic/Makefile.am 2001/08/14 08:21:45
@@ -2,3 +2,20 @@ dynamicincludedir=$(includedir)/orbit/dy
dynamicinclude_HEADERS= \
dynamic.h \
dynamic-defs.h
+
+BUILT_SOURCES=dynamic-defs.h
+
+IDL_FLAGS=-I$(top_srcdir)/src/idl/CORBA_PIDL \
+ -I$(top_srcdir)/src/idl/CORBA \
+ -I$(top_srcdir)/src/orb/orb-core \
+ -I$(top_srcdir)/src/idl/misc \
+ --define=Object=OObject --define=TypeCode=TTypeCode \
+ --noskels --nodefskels --nostubs --nocommon --noidata \
+ --showcpperrors
+IDL_DIR=$(top_srcdir)/src/orb/dynamic/
+IDL_FILES=dynamic-defs.idl
+
+include $(top_srcdir)/Makefile.shared
+
+CLEANFILES=$(BUILT_SOURCES)
+
Index: include/orbit/orb-core/.cvsignore
===================================================================
RCS file: /cvs/gnome/ORBit2/include/orbit/orb-core/.cvsignore,v
retrieving revision 1.3
diff -u -p -r1.3 .cvsignore
--- include/orbit/orb-core/.cvsignore 2001/06/19 15:01:24 1.3
+++ include/orbit/orb-core/.cvsignore 2001/08/14 08:21:45
@@ -5,3 +5,4 @@ iop-defs.h
poa-defs.h
dynamic-defs.h
orbit-interface.h
+.deps
Index: include/orbit/orb-core/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/include/orbit/orb-core/Makefile.am,v
retrieving revision 1.8
diff -u -p -r1.8 Makefile.am
--- include/orbit/orb-core/Makefile.am 2001/07/11 17:56:39 1.8
+++ include/orbit/orb-core/Makefile.am 2001/08/14 08:21:45
@@ -29,10 +29,25 @@ orbcoreinclude_HEADERS= \
corba-any-type.h \
orbit-interface.h
-IDL = $(top_builddir)/src/idl-compiler/orbit-idl
-IDLOUT = corba-defs.h iop-defs.h
+BUILT_SOURCES = corba-defs.h iop-defs.h orbit-interface.h
-$(IDLOUT) runidl: $(top_srcdir)/src/orb/orb-core/corba-defs.idl $(IDL)
- -(rm -f $(IDLOUT) || true) > /dev/null
- $(IDL) -I$(top_srcdir)/src/idl/CORBA_PIDL -I$(top_srcdir)/src/idl/CORBA --noskels --nodefskels --nostubs --nocommon --noidata \
- --showcpperrors $(top_srcdir)/src/orb/orb-core/corba-defs.idl
+IDL_FLAGS_NO_DEFS = -I$(top_srcdir)/src/idl/CORBA_PIDL \
+ -I$(top_srcdir)/src/idl/CORBA \
+ -I$(top_srcdir)/src/idl/interop \
+ --noskels --nodefskels --nostubs --noidata \
+ --nocommon \
+ --showcpperrors
+IDL_FLAGS = $(IDL_FLAGS_NO_DEFS) \
+ --define=Object=OObject \
+ --define=TypeCode=TTypeCode
+IDL_FILES=corba-defs.idl iop-defs.idl orbit-interface.idl
+IDL_DIR=$(top_srcdir)/src/orb/orb-core/
+
+include $(top_srcdir)/Makefile.shared
+
+orbit-interface.h: $(top_srcdir)/src/orb/orb-core/orbit-interface.idl $(IDL_COMPILER)
+ -(rm -f orbit-interface.h || true ) > /dev/null
+ $(IDL_COMPILER) $(IDL_FLAGS_NO_DEFS) --deps .deps/orbit-interface.idl.P $<
+
+
+CLEANFILES=$(BUILT_SOURCES)
Index: include/orbit/poa/.cvsignore
===================================================================
RCS file: /cvs/gnome/ORBit2/include/orbit/poa/.cvsignore,v
retrieving revision 1.3
diff -u -p -r1.3 .cvsignore
--- include/orbit/poa/.cvsignore 2001/03/30 15:22:53 1.3
+++ include/orbit/poa/.cvsignore 2001/08/14 08:21:45
@@ -1,3 +1,4 @@
Makefile
Makefile.in
poa-defs.h
+.deps
Index: include/orbit/poa/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/include/orbit/poa/Makefile.am,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile.am
--- include/orbit/poa/Makefile.am 2001/07/31 14:39:40 1.4
+++ include/orbit/poa/Makefile.am 2001/08/14 08:21:45
@@ -8,3 +8,19 @@ poainclude_HEADERS= \
portableserver-poa-type.h \
portableserver-current-type.h \
orbit-adaptor.h
+
+
+BUILT_SOURCES = poa-defs.h
+
+IDL_FLAGS = -I$(top_srcdir)/src/idl/CORBA_PIDL \
+ -I$(top_srcdir)/src/idl/CORBA \
+ -I$(top_srcdir)/src/orb/orb-core \
+ -I$(top_srcdir)/src/idl/misc \
+ --define=Object=OObject --define=TypeCode=TTypeCode \
+ --noskels --nodefskels --nostubs --nocommon --noidata \
+ --showcpperrors
+IDL_FILES= POA-defs.idl
+IDL_DIR=$(top_srcdir)/src/orb/poa/
+include $(top_srcdir)/Makefile.shared
+
+CLEANFILES=$(BUILT_SOURCES)
Index: src/idl-compiler/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/src/idl-compiler/Makefile.am,v
retrieving revision 1.13
diff -u -p -r1.13 Makefile.am
--- src/idl-compiler/Makefile.am 2001/07/23 22:25:43 1.13
+++ src/idl-compiler/Makefile.am 2001/08/14 08:21:45
@@ -35,6 +35,7 @@ orbit_idl_SOURCES=orbit-idl-main.c \
orbit-idl-c-typecode.c \
orbit-idl-c-marshal.c \
orbit-idl-c-demarshal.c \
+ orbit-idl-c-deps.c \
orbit-idl-marshal.c \
orbit-idl-marshal.h
Index: src/idl-compiler/orbit-idl-c-backend.c
===================================================================
RCS file: /cvs/gnome/ORBit2/src/idl-compiler/orbit-idl-c-backend.c,v
retrieving revision 1.12
diff -u -p -r1.12 orbit-idl-c-backend.c
--- src/idl-compiler/orbit-idl-c-backend.c 2001/07/23 22:25:43 1.12
+++ src/idl-compiler/orbit-idl-c-backend.c 2001/08/14 08:21:45
@@ -32,7 +32,7 @@ orbit_idl_output_c(OIDL_Output_Tree *tre
ci.do_impl_hack = 1;
ci.do_skel_defs = rinfo->do_skel_defs;
ci.ctxt = tree->ctxt;
- for(i = 0; i < 6; i++) {
+ for(i = 0; i < OUTPUT_NUM_PASSES; i++) {
if( (1 << i) & rinfo->enabled_passes) {
ci.fh = out_for_pass(rinfo->input_filename, 1 << i, rinfo);
@@ -55,31 +55,33 @@ orbit_idl_output_c(OIDL_Output_Tree *tre
case OUTPUT_IMODULE:
orbit_idl_output_c_imodule(tree, rinfo, &ci);
break;
+ case OUTPUT_DEPS:
+ orbit_idl_output_c_deps(tree, rinfo, &ci);
+ break;
}
- pclose(ci.fh);
+ if (1 << i == OUTPUT_DEPS)
+ fclose(ci.fh);
+ else
+ pclose(ci.fh);
}
}
g_string_free(ci.ext_dcls,TRUE);
}
-static FILE *
-out_for_pass(const char *input_filename, int pass, OIDL_Run_Info *rinfo)
+char *
+orbit_idl_c_filename_for_pass (const char *input_filename,
+ int pass)
{
- char *tack_on = NULL; /* Quiet gcc */
- char *basein;
- char *ctmp;
- char *cmdline;
-
- basein = g_alloca(strlen(input_filename) + sizeof("-skelimpl.c"));
- ctmp = g_path_get_basename(input_filename);
- strcpy(basein, ctmp);
- g_free(ctmp);
-
- ctmp = strrchr(basein, '.');
-
- g_assert(ctmp);
-
- *ctmp = '\0';
+ char *filename;
+ char *basename;
+ char *dot;
+ const char *tack_on = NULL;
+
+ basename = g_path_get_basename (input_filename);
+ dot = strrchr (basename, '.');
+ if (dot != NULL) {
+ *dot = '\0';
+ }
switch(pass) {
case OUTPUT_STUBS:
@@ -105,10 +107,27 @@ out_for_pass(const char *input_filename,
break;
}
- strcat(basein, tack_on);
+ filename = g_strconcat (basename, tack_on, NULL);
+ g_free (basename);
+ return filename;
+}
+
+static FILE *
+out_for_pass(const char *input_filename, int pass, OIDL_Run_Info *rinfo)
+{
+ char *output_filename;
+ char *cmdline;
- cmdline = g_alloca(strlen(rinfo->output_formatter) + strlen(basein)
- + sizeof(" > "));
- sprintf(cmdline, "%s > %s", rinfo->output_formatter, basein);
- return popen(cmdline, "w");
+ if (pass == OUTPUT_DEPS) {
+ return fopen (rinfo->deps_file, "w");
+ } else {
+ output_filename = orbit_idl_c_filename_for_pass (input_filename, pass);
+
+ cmdline = g_alloca(strlen(rinfo->output_formatter) + strlen(output_filename)
+ + sizeof(" > "));
+ sprintf(cmdline, "%s > %s", rinfo->output_formatter, output_filename);
+
+ g_free (output_filename);
+ return popen(cmdline, "w");
+ }
}
Index: src/idl-compiler/orbit-idl-c-backend.h
===================================================================
RCS file: /cvs/gnome/ORBit2/src/idl-compiler/orbit-idl-c-backend.h,v
retrieving revision 1.26
diff -u -p -r1.26 orbit-idl-c-backend.h
--- src/idl-compiler/orbit-idl-c-backend.h 2001/07/23 22:25:43 1.26
+++ src/idl-compiler/orbit-idl-c-backend.h 2001/08/14 08:21:45
@@ -29,12 +29,14 @@ typedef struct {
void orbit_idl_output_c(OIDL_Output_Tree *tree, OIDL_Run_Info *rinfo);
/* Used internally */
+char *orbit_idl_c_filename_for_pass (const char *input_filename, int pass);
void orbit_idl_output_c_headers(OIDL_Output_Tree *tree, OIDL_Run_Info *rinfo, OIDL_C_Info *ci);
void orbit_idl_output_c_stubs(OIDL_Output_Tree *tree, OIDL_Run_Info *rinfo, OIDL_C_Info *ci);
void orbit_idl_output_c_skeletons(OIDL_Output_Tree *tree, OIDL_Run_Info *rinfo, OIDL_C_Info *ci);
void orbit_idl_output_c_common(OIDL_Output_Tree *tree, OIDL_Run_Info *rinfo, OIDL_C_Info *ci);
void orbit_idl_output_c_skelimpl(OIDL_Output_Tree *tree, OIDL_Run_Info *rinfo, OIDL_C_Info *ci);
void orbit_idl_output_c_imodule(OIDL_Output_Tree *tree, OIDL_Run_Info *rinfo, OIDL_C_Info *ci);
+void orbit_idl_output_c_deps(OIDL_Output_Tree *tree, OIDL_Run_Info *rinfo, OIDL_C_Info *ci);
void orbit_output_typecode(OIDL_C_Info *ci, IDL_tree ts);
Index: src/idl-compiler/orbit-idl-c-deps.c
===================================================================
RCS file: orbit-idl-c-deps.c
diff -N orbit-idl-c-deps.c
--- /dev/null Tue May 5 16:32:27 1998
+++ orbit-idl-c-deps.c Tue Aug 14 04:21:45 2001
@@ -0,0 +1,86 @@
+/**************************************************************************
+
+ orbit-idl-c-deps.c (Dependency generation)
+
+ Copyright (C) 2001 Maciej Stachowiak
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+***************************************************************************/
+
+#include "config.h"
+#include "orbit-idl-c-backend.h"
+
+#include <string.h>
+#include <ctype.h>
+
+static void
+output_deps(IDL_tree tree,
+ OIDL_Run_Info *rinfo,
+ OIDL_C_Info *ci);
+
+
+void
+orbit_idl_output_c_deps (OIDL_Output_Tree *tree,
+ OIDL_Run_Info *rinfo,
+ OIDL_C_Info *ci)
+{
+ int i;
+
+ for(i = 0; i < OUTPUT_NUM_PASSES - 1; i++) {
+ fprintf (ci->fh, "%s ", orbit_idl_c_filename_for_pass (rinfo->input_filename, 1 << i));
+ }
+ fprintf (ci->fh, ": ");
+
+ output_deps (tree->tree, rinfo, ci);
+
+ fprintf (ci->fh, "\n");
+}
+
+
+
+static void
+output_deps(IDL_tree tree,
+ OIDL_Run_Info *rinfo,
+ OIDL_C_Info *ci)
+{
+ if(!tree) return;
+
+ switch(IDL_NODE_TYPE(tree)) {
+ case IDLN_SRCFILE:
+ {
+ char *idlfn = IDL_SRCFILE(tree).filename;
+ fprintf (ci->fh, " \\\n\t%s", idlfn);
+ }
+ break;
+ case IDLN_MODULE:
+ output_deps(IDL_MODULE(tree).definition_list, rinfo, ci);
+ break;
+ case IDLN_LIST:
+ {
+ IDL_tree sub;
+
+ for(sub = tree; sub; sub = IDL_LIST(sub).next) {
+ output_deps(IDL_LIST(sub).data, rinfo, ci);
+ }
+ }
+ break;
+ case IDLN_INTERFACE:
+ output_deps(IDL_INTERFACE(tree).body, rinfo, ci);
+ break;
+ default:
+ break;
+ }
+}
Index: src/idl-compiler/orbit-idl-c-headers.c
===================================================================
RCS file: /cvs/gnome/ORBit2/src/idl-compiler/orbit-idl-c-headers.c,v
retrieving revision 1.52
diff -u -p -r1.52 orbit-idl-c-headers.c
--- src/idl-compiler/orbit-idl-c-headers.c 2001/08/13 22:39:42 1.52
+++ src/idl-compiler/orbit-idl-c-headers.c 2001/08/14 08:21:46
@@ -148,21 +148,23 @@ ch_output_types(IDL_tree tree, OIDL_Run_
break;
case IDLN_SRCFILE:
{
+ if (rinfo->onlytop) {
char *idlfn = IDL_SRCFILE(tree).filename;
if ( IDL_SRCFILE(tree).seenCnt==0
- && !IDL_SRCFILE(tree).isTop
+ && !IDL_SRCFILE(tree).isTop
&& !IDL_SRCFILE(tree).wasInhibit ) {
- char *hfn = g_path_get_basename(idlfn), *htail;
- htail = strrchr(hfn,'.');
- g_assert( htail && strlen(htail)>=2 );
- htail[1] = 'h';
- htail[2] = 0;
- fprintf(ci->fh, "#include \"%s\"\n", hfn);
+ char *hfn = g_path_get_basename(idlfn), *htail;
+ htail = strrchr(hfn,'.');
+ g_assert( htail && strlen(htail)>=2 );
+ htail[1] = 'h';
+ htail[2] = 0;
+ fprintf(ci->fh, "#include \"%s\"\n", hfn);
g_free(hfn);
}
fprintf(ci->fh, "/* from IDL source file \"%s\" (seen %d, isTop %d, wasInhibit %d) */ \n",
- idlfn, IDL_SRCFILE(tree).seenCnt, IDL_SRCFILE(tree).isTop,
- IDL_SRCFILE(tree).wasInhibit);
+ idlfn, IDL_SRCFILE(tree).seenCnt, IDL_SRCFILE(tree).isTop,
+ IDL_SRCFILE(tree).wasInhibit);
+ }
}
break;
case IDLN_CONST_DCL:
Index: src/idl-compiler/orbit-idl-driver.c
===================================================================
RCS file: /cvs/gnome/ORBit2/src/idl-compiler/orbit-idl-driver.c,v
retrieving revision 1.22
diff -u -p -r1.22 orbit-idl-driver.c
--- src/idl-compiler/orbit-idl-driver.c 2001/08/13 22:39:42 1.22
+++ src/idl-compiler/orbit-idl-driver.c 2001/08/14 08:21:46
@@ -53,9 +53,10 @@ orbit_idl_to_backend(const char *filenam
&tree, &namespace,
(rinfo->show_cpp_errors?IDLF_SHOW_CPP_ERRORS:0)
|IDLF_TYPECODES
+ |IDLF_SRCFILES
|(rinfo->is_pidl?IDLF_XPIDL:0)
|(rinfo->onlytop
- ?(IDLF_SRCFILES|IDLF_INHIBIT_INCLUDES):0)
+ ?(IDLF_INHIBIT_INCLUDES):0)
|IDLF_CODEFRAGS,
rinfo->idl_warn_level);
rinfo->namespace = namespace;
Index: src/idl-compiler/orbit-idl-main.c
===================================================================
RCS file: /cvs/gnome/ORBit2/src/idl-compiler/orbit-idl-main.c,v
retrieving revision 1.19
diff -u -p -r1.19 orbit-idl-main.c
--- src/idl-compiler/orbit-idl-main.c 2001/07/26 12:30:45 1.19
+++ src/idl-compiler/orbit-idl-main.c 2001/08/14 08:21:47
@@ -49,11 +49,13 @@ static int cl_enable_small_stubs = 0;
static int cl_enable_small_skels = 0;
static int cl_disable_idata = 0;
static int cl_enable_imodule = 0;
+static int cl_add_imodule = 0;
static gboolean cl_disable_defs_skels = FALSE;
static gboolean cl_showcpperrors = TRUE;
static char *cl_output_lang = "c";
static char *cl_backend_dir = ORBITLIBDIR;
static gboolean cl_onlytop = FALSE;
+static char *cl_deps_file = NULL;
#define BASE_CPP_ARGS "-D__ORBIT_IDL__ "
static GString *cl_cpp_args;
@@ -125,12 +127,14 @@ struct poptOption options[] = {
{"noheaders", '\0', POPT_ARG_NONE, &cl_disable_headers, 0, "Don't output headers", NULL},
{"noidata", '\0', POPT_ARG_NONE, &cl_disable_idata, 0, "Don't generate Interface type data", NULL},
{"imodule", 'i', POPT_ARG_NONE, &cl_enable_imodule, 0, "Output only an imodule file", NULL},
- {"skeleton-impl", '\0', POPT_ARG_NONE, &cl_enable_skeleton_impl, 0, "Don't output headers", NULL},
+ {"add-imodule", '\0', POPT_ARG_NONE, &cl_add_imodule, 0, "Output an imodule file", NULL},
+ {"skeleton-impl", '\0', POPT_ARG_NONE, &cl_enable_skeleton_impl, 0, "Output skeleton implementation", NULL},
{"backenddir", '\0', POPT_ARG_STRING, &cl_backend_dir, 0, "Override IDL backend library directory", "DIR"},
{"c-output-formatter", '\0', POPT_ARG_STRING, &c_output_formatter, 0, "Program to use to format output (normally, indent)", "PROGRAM"},
{"onlytop", '\0', POPT_ARG_NONE, &cl_onlytop, 0, "Inhibit includes", NULL},
{"pidl", '\0', POPT_ARG_NONE, &cl_is_pidl, 0, "Treat as Pseudo IDL", NULL},
{"nodefskels", '\0', POPT_ARG_NONE, &cl_disable_defs_skels, 0, "Don't output defs for skels in header", NULL},
+ {"deps", '\0', POPT_ARG_STRING, &cl_deps_file, 0, "Generate dependency info suitable for inclusion in Makefile", "FILENAME"},
POPT_AUTOHELP
{NULL, '\0', 0, NULL, 0, NULL, NULL}
};
@@ -188,7 +192,11 @@ int main(int argc, const char *argv[])
|(cl_disable_skels?0:OUTPUT_SKELS)
|(cl_disable_common?0:OUTPUT_COMMON)
|(cl_disable_headers?0:OUTPUT_HEADERS)
- |(cl_enable_skeleton_impl?OUTPUT_SKELIMPL:0);
+ |(cl_enable_skeleton_impl?OUTPUT_SKELIMPL:0)
+ |(cl_add_imodule?OUTPUT_IMODULE:0)
+ |(cl_deps_file != NULL?OUTPUT_DEPS:0);
+
+ rinfo.deps_file = cl_deps_file;
if (cl_enable_imodule) /* clobber */
rinfo.enabled_passes =
Index: src/idl-compiler/orbit-idl3-types.h
===================================================================
RCS file: /cvs/gnome/ORBit2/src/idl-compiler/orbit-idl3-types.h,v
retrieving revision 1.15
diff -u -p -r1.15 orbit-idl3-types.h
--- src/idl-compiler/orbit-idl3-types.h 2001/08/13 22:39:42 1.15
+++ src/idl-compiler/orbit-idl3-types.h 2001/08/14 08:21:47
@@ -10,6 +10,8 @@
typedef struct _OIDL_Marshal_Context OIDL_Marshal_Context;
+#define OUTPUT_NUM_PASSES 7
+
typedef struct {
char *cpp_args;
int debug_level;
@@ -23,13 +25,16 @@ typedef struct {
OUTPUT_COMMON=1<<2,
OUTPUT_HEADERS=1<<3,
OUTPUT_SKELIMPL=1<<4,
- OUTPUT_IMODULE=1<<5 } enabled_passes;
+ OUTPUT_IMODULE=1<<5,
+ OUTPUT_DEPS=1<<6, /* Make sure this is always the last pass or dep output will break. */
+ } enabled_passes;
char *output_formatter;
char *output_language;
char *input_filename;
char *backend_directory;
+ char *deps_file;
gboolean onlytop;
gboolean small;
gboolean small_stubs;
Index: src/orb/dynamic/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/src/orb/dynamic/Makefile.am,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile.am
--- src/orb/dynamic/Makefile.am 2001/07/12 17:38:37 1.7
+++ src/orb/dynamic/Makefile.am 2001/08/14 08:21:47
@@ -5,7 +5,6 @@ liborb_dynamic_la_SOURCES= \
$(DYNAMIC_IDLOUT) \
dynany.c
-IDL = $(top_builddir)/src/idl-compiler/orbit-idl
INCLUDES= \
-I$(top_srcdir)/include \
-I$(top_srcdir)/src/orb \
@@ -18,17 +17,15 @@ DYNAMIC_IDLOUT=dynamic-defs-common.c dyn
BUILT_SOURCES=$(DYNAMIC_IDLOUT)
-$(DYNAMIC_IDLOUT) runidl_dynamic: dynamic-defs.idl $(IDL)
- -(rm -f $(DYNAMIC_IDLOUT) || true) > /dev/null
- $(IDL) -I$(top_srcdir)/src/idl/CORBA_PIDL \
- --define=Object=OObject --define=TypeCode=TTypeCode \
- -I$(top_srcdir)/src/idl/CORBA \
- -I$(top_srcdir)/src/idl/misc \
- -I$(top_srcdir)/src/orb/orb-core \
- --noskels --nodefskels --nostubs --noidata \
- --showcpperrors $(top_srcdir)/src/orb/dynamic/dynamic-defs.idl
- for I in $(DYNAMIC_IDLOUT); do \
- sed -e 's,OObject,Object,g' -e 's,TTypeCode,TypeCode,g' $$I > $$I.out; \
- mv $$I.out $$I; done
+IDL_FLAGS= -I$(top_srcdir)/src/idl/CORBA_PIDL \
+ --define=Object=OObject --define=TypeCode=TTypeCode \
+ -I$(top_srcdir)/src/idl/CORBA \
+ -I$(top_srcdir)/src/idl/misc \
+ -I$(top_srcdir)/src/orb/orb-core \
+ --noskels --nodefskels --nostubs --noidata \
+ --showcpperrors
+IDL_FILES=dynamic-defs.idl
+include $(top_srcdir)/Makefile.shared
-EXTRA_DIST=dynamic-defs.idl
+EXTRA_DIST=$(IDL_FILES)
+
Index: src/orb/include/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/src/orb/include/Makefile.am,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile.am
--- src/orb/include/Makefile.am 2001/07/11 17:56:42 1.4
+++ src/orb/include/Makefile.am 2001/08/14 08:21:47
@@ -1,33 +1,3 @@
-noinst_HEADERS=runidl_poa runidl_dynamic
-IDL = $(top_builddir)/src/idl-compiler/orbit-idl
-runidl_poa: $(top_srcdir)/src/orb/poa/poa-defs.idl $(IDL)
- $(IDL) -I$(top_srcdir)/src/idl/CORBA_PIDL \
- -I$(top_srcdir)/src/idl/CORBA \
- -I$(top_srcdir)/src/orb/orb-core \
- -I$(top_srcdir)/src/idl/misc \
- --define=Object=OObject --define=TypeCode=TTypeCode \
- --noskels --nodefskels --nostubs --nocommon --noidata \
- --showcpperrors $(top_srcdir)/src/orb/poa/poa-defs.idl
- for I in poa-defs.h; do \
- sed -e 's,OObject,Object,g' -e 's,TTypeCode,TypeCode,g' $$I > $$I.out; \
- mv $$I.out $$I; done
- mv -f poa-defs.h $(top_builddir)/include/orbit/poa/poa-defs.h
- touch runidl_poa
-
-runidl_dynamic: $(top_srcdir)/src/orb/dynamic/dynamic-defs.idl $(IDL)
- $(IDL) -I$(top_srcdir)/src/idl/CORBA_PIDL \
- -I$(top_srcdir)/src/idl/CORBA \
- -I$(top_srcdir)/src/orb/orb-core \
- -I$(top_srcdir)/src/idl/misc \
- --define=Object=OObject --define=TypeCode=TTypeCode \
- --noskels --nodefskels --nostubs --nocommon --noidata \
- --showcpperrors $(top_srcdir)/src/orb/dynamic/dynamic-defs.idl
- for I in dynamic-defs.h; do \
- sed -e 's,OObject,Object,g' -e 's,TTypeCode,TypeCode,g' $$I > $$I.out; \
- mv $$I.out $$I; done
- mv -f dynamic-defs.h $(top_builddir)/include/orbit/dynamic/dynamic-defs.h
- touch runidl_dynamic
-
-BUILT_SOURCES=runidl_poa runidl_dynamic
-CLEANFILES=runidl_poa runidl_dynamic
+all:
+ (cd $(top_builddir)/include; make)
Index: src/orb/orb-core/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/src/orb/orb-core/Makefile.am,v
retrieving revision 1.25
diff -u -p -r1.25 Makefile.am
--- src/orb/orb-core/Makefile.am 2001/08/09 21:58:10 1.25
+++ src/orb/orb-core/Makefile.am 2001/08/14 08:21:47
@@ -41,58 +41,40 @@ liborb_core_la_SOURCES= \
$(IFACE_IDLOUT) \
$(main_src)
-IDL = $(top_builddir)/src/idl-compiler/orbit-idl
IDLOUT=corba-defs-common.c
IOP_IDLOUT=iop-defs-common.c
-OPS_IDLOUT=corba-ops-stubs.c corba-ops-common.c corba-ops.h corba-ops-skels.c
+OPS_IDLOUT= corba-ops.h corba-ops-stubs.c corba-ops-common.c corba-ops-skels.c
IFACE_IDLOUT=orbit-interface.h orbit-interface-common.c
$(main_src) : $(BUILT_SOURCES)
+IDL_COMPILER = $(top_builddir)/src/idl-compiler/orbit-idl
-$(top_builddir)/include/orbit/orb-core/corba-defs.h $(IDLOUT): corba-defs.idl $(IDL)
- -(rm -f $(IDLOUT) || true) > /dev/null
- $(IDL) -I$(top_srcdir)/src/idl/CORBA_PIDL -I$(top_srcdir)/src/idl/CORBA \
- --noskels --nodefskels --nostubs --noidata \
- --define=Object=OObject --define=TypeCode=TTypeCode \
- --showcpperrors $(top_srcdir)/src/orb/orb-core/corba-defs.idl
- for I in $(IDLOUT) corba-defs.h; do \
- sed -e 's,OObject,Object,g' -e 's,TTypeCode,TypeCode,g' $$I > $$I.out; \
- mv $$I.out $$I; done; \
- cp -f corba-defs.h $(top_builddir)/include/orbit/orb-core/corba-defs.h;
-
-$(IOP_IDLOUT): iop-defs.idl $(IDL)
- -(rm -f $(IOP_IDLOUT) || true) > /dev/null
- $(IDL) -I$(top_srcdir)/src/idl/CORBA_PIDL \
- --define=Object=OObject --define=TypeCode=TTypeCode \
- -I$(top_srcdir)/src/idl/CORBA \
- -I$(top_srcdir)/src/idl/misc \
- -I$(top_srcdir)/src/idl/interop \
- --noskels --nodefskels --nostubs --noidata \
- --showcpperrors $(top_srcdir)/src/orb/orb-core/iop-defs.idl
- for I in $(IOP_IDLOUT) iop-defs.h; do \
- sed -e 's,OObject,Object,g' -e 's,TTypeCode,TypeCode,g' $$I > $$I.out; \
- mv $$I.out $$I; done; \
- mv -f iop-defs.h $(top_builddir)/include/orbit/orb-core/iop-defs.h;
+IDL_FLAGS = -I$(top_srcdir)/src/idl/CORBA_PIDL \
+ -I$(top_srcdir)/src/idl/CORBA \
+ -I$(top_srcdir)/src/idl/misc \
+ -I$(top_srcdir)/src/idl/interop \
+ --noskels --nodefskels --nostubs --noidata --noheaders \
+ --define=Object=OObject --define=TypeCode=TTypeCode \
+ --showcpperrors
+IDL_FILES=corba-defs.idl iop-defs.idl corba-ops.idl orbit-interface.idl
+include $(top_srcdir)/Makefile.shared
+IDL_FLAGS_CORBA_OPS = --showcpperrors
$(OPS_IDLOUT): corba-ops.idl $(IDL)
-(rm -f $(OPS_IDLOUT) || true) > /dev/null
- $(IDL) --showcpperrors $(top_srcdir)/src/orb/orb-core/corba-ops.idl
- for I in $(OPS_IDLOUT); do \
- sed -e 's,ZZZis_a,_is_a,g' -e 's,ZZis_a,is_a,g' $$I > $$I.out; mv $$I.out $$I; \
- done; \
- sed -e "s,Z,_,g" corba-ops-skels.c > corba-ops-skels.c.out; \
+ $(IDL_COMPILER) $(IDL_FLAGS_CORBA_OPS) --deps .deps/corba-ops.idl.P $<
+ for I in $(OPS_IDLOUT); do \
+ sed -e 's,ZZZis_a,_is_a,g' -e 's,ZZis_a,is_a,g' $$I > $$I.out; mv $$I.out $$I; \
+ done; \
+ sed -e "s,Z,_,g" corba-ops-skels.c > corba-ops-skels.c.out; \
mv corba-ops-skels.c.out corba-ops-skels.c;
-# This has to be built and installed before we can compile
-# the other bits, since the generated code includes orbit-interface.h
-$(IDLOUT) $(IOP_IDLOUT) $(OPS_IDLOUT) : $(IFACE_IDLOUT)
-
-$(top_builddir)/include/orbit/orb-core/orbit-interface.h $(IFACE_IDLOUT) : orbit-interface.idl $(IDL)
+IDL_FLAGS_INTERFACE = --nostubs --noskels --showcpperrors
+$(IFACE_IDLOUT) : orbit-interface.idl $(IDL)
-(rm -f $(IFACE_IDLOUT) || true) > /dev/null
- $(IDL) --showcpperrors $(top_srcdir)/src/orb/orb-core/orbit-interface.idl
- cp -f orbit-interface.h $(top_builddir)/include/orbit/orb-core/orbit-interface.h; \
- rm -f orbit-interface-stubs.c orbit-interface-skels.c
+ $(IDL_COMPILER) $(IDL_FLAGS_INTERFACE) --deps .deps/orbit-interface.idl.P $<
+
-BUILT_SOURCES=$(IDLOUT) $(IOP_IDLOUT) $(OPS_IDLOUT) $(IFACE_IDLOUT)
+BUILT_SOURCES= $(IFACE_IDLOUT) $(IDLOUT) $(IOP_IDLOUT) $(OPS_IDLOUT)
CLEANFILES=$(BUILT_SOURCES)
-EXTRA_DIST=corba-defs.idl iop-defs.idl corba-ops.idl orbit-interface.idl
+EXTRA_DIST=$(IDL_FILES)
Index: src/orb/poa/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/src/orb/poa/Makefile.am,v
retrieving revision 1.14
diff -u -p -r1.14 Makefile.am
--- src/orb/poa/Makefile.am 2001/07/31 14:39:41 1.14
+++ src/orb/poa/Makefile.am 2001/08/14 08:21:47
@@ -33,15 +33,12 @@ EXTRA_DIST=poa-defs.idl
BUILT_SOURCES=$(POA_IDLOUT)
CLEANFILES=$(BUILT_SOURCES)
-$(POA_IDLOUT): poa-defs.idl $(IDL)
- -(rm -f $(POA_IDLOUT) || true) > /dev/null
- $(IDL) -I$(top_srcdir)/src/idl/CORBA_PIDL \
- -I$(top_srcdir)/src/idl/CORBA \
- -I$(top_srcdir)/src/idl/misc \
- -I$(top_srcdir)/src/orb/orb-core \
- --noskels --nodefskels --nostubs --noidata \
- --define=Object=OObject --define=TypeCode=TTypeCode \
- --showcpperrors $(top_srcdir)/src/orb/poa/poa-defs.idl
- for I in $(POA_IDLOUT) poa-defs.h; do \
- sed -e 's,OObject,Object,g' -e 's,TTypeCode,TypeCode,g' $$I > $$I.out; \
- mv $$I.out $$I; done
+IDL_FLAGS= -I$(top_srcdir)/src/idl/CORBA_PIDL \
+ -I$(top_srcdir)/src/idl/CORBA \
+ -I$(top_srcdir)/src/idl/misc \
+ -I$(top_srcdir)/src/orb/orb-core \
+ --noskels --nodefskels --nostubs --noidata \
+ --define=Object=OObject --define=TypeCode=TTypeCode \
+ --showcpperrors
+IDL_FILES=poa-defs.idl
+include $(top_srcdir)/Makefile.shared
Index: src/services/name/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/src/services/name/Makefile.am,v
retrieving revision 1.4
diff -u -p -r1.4 Makefile.am
--- src/services/name/Makefile.am 2001/06/19 15:01:32 1.4
+++ src/services/name/Makefile.am 2001/08/14 08:21:47
@@ -24,22 +24,17 @@ INCLUDES = -I. \
$(GLIB_CFLAGS) \
$(LINC_CFLAGS)
-IDL = $(top_builddir)/src/idl-compiler/orbit-idl
-
CosNaming_built = \
CosNaming.h \
CosNaming-common.c \
CosNaming-stubs.c \
CosNaming-skels.c
-
-$(CosNaming_built): my_cosnaming_built
- @:
-my_cosnaming_built: CosNaming.idl $(IDL)
- $(IDL) $(srcdir)/CosNaming.idl
- touch my_cosnaming_built
+IDL_FLAGS=--showcpperrors
+IDL_FILES=CosNaming.idl
+include $(top_srcdir)/Makefile.shared
-CLEANFILES=my_cosnaming_built
+CLEANFILES=my_cosnaming_built $(BUILT_SOURCES)
DEPS = $(top_builddir)/src/orb/libORBit-2.la \
libORBitCosNaming-2.la
Index: test/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/test/Makefile.am,v
retrieving revision 1.11
diff -u -p -r1.11 Makefile.am
--- test/Makefile.am 2001/08/08 19:10:37 1.11
+++ test/Makefile.am 2001/08/14 08:21:47
@@ -1,6 +1,5 @@
SUBDIRS = everything inhibit poa
-IDL = $(top_builddir)/src/idl-compiler/orbit-idl
INCLUDES=-I$(top_srcdir)/include \
-I$(top_builddir)/include \
$(LINC_CFLAGS) \
@@ -42,36 +41,13 @@ typelib_dump_SOURCES=typelib-dump.c
DYNANY_IDLOUT=dynany.h dynany-common.c
test_dynany_SOURCES=$(DYNANY_IDLOUT) test-dynany.c
-$(ECHO_IDLOUT): echo_built
-echo_built: echo.idl $(IDL)
- $(IDL) --showcpperrors $(srcdir)/echo.idl
- touch echo_built
-
-$(DYNANY_IDLOUT): dynany_built
-
-dynany_built: dynany.idl $(IDL)
- $(IDL) --noskels --nostubs --showcpperrors $(srcdir)/dynany.idl
- touch dynany_built
-
-$(EMPTY_IDLOUT): empty_built
-empty_built: empty.idl $(IDL)
- $(IDL) --showcpperrors $(srcdir)/empty.idl
- touch empty_built
-
-$(IDLOUT): test1_built
-test1_built: test1.idl $(IDL)
- -(rm -f $(IDLOUT) || true) > /dev/null
- $(IDL) --showcpperrors $(srcdir)/test1.idl
- touch test1_built
-
-$(TEST_ANY_IDLOUT): test_any_built
-test_any_built: test-any.idl $(IDL)
- -(rm -f $(TEST_ANY_IDLOUT) || true) > /dev/null
- $(IDL) --showcpperrors $(srcdir)/test-any.idl
- touch test_any_built
+IDL_FLAGS = --showcpperrors
+IDL_FILES=echo.idl empty.idl test-any.idl test1.idl dynany.idk
+include $(top_srcdir)/Makefile.shared
+
BUILT_SOURCES=$(EMPTY_IDLOUT) $(ECHO_IDLOUT) $(IDLOUT) $(TEST_ANY_IDLOUT) $(DYNANY_IDLOUT)
-CLEANFILES=dynany_built echo_built empty_built test1_built test_any_built $(BUILT_SOURCES)
+CLEANFILES=$(BUILT_SOURCES)
-EXTRA_DIST=echo.idl empty.idl test-any.idl test1.idl dynany.idl
+EXTRA_DIST=$(IDL_FILES)
Index: test/everything/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/test/everything/Makefile.am,v
retrieving revision 1.8
diff -u -p -r1.8 Makefile.am
--- test/everything/Makefile.am 2001/07/30 22:24:25 1.8
+++ test/everything/Makefile.am 2001/08/14 08:21:47
@@ -48,16 +48,12 @@ server_SOURCES=server.c ${EVERYTHING_BUI
server_DEPENDENCES=${EVERYTHING_BUILT} $(included_src)
server_LDFLAGS = -static -module
-ORBIT_IDL = $(top_builddir)/src/idl-compiler/orbit-idl
+IDL_FLAGS= --showcpperrors --add-imodule
+IDL_FILES= everything.idl
+include $(top_srcdir)/Makefile.shared
-${EVERYTHING_BUILT}: everything.idl $(ORBIT_IDL)
- $(ORBIT_IDL) $(srcdir)/everything.idl
-
-everything-imodule.c : everything.idl $(ORBIT_IDL)
- $(ORBIT_IDL) --imodule $(srcdir)/everything.idl
-
-CLEANFILES = ${EVERYTHING_BUILT} iorfile
-BUILT_SOURCES = ${EVERYTHING_BUILT}
+BUILT_SOURCES = ${EVERYTHING_BUILT} everything-imodule.c
+CLEANFILES = ${BUILT_SOURCES} iorfile
TESTS = $(srcdir)/test.sh
Index: test/inhibit/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/test/inhibit/Makefile.am,v
retrieving revision 1.3
diff -u -p -r1.3 Makefile.am
--- test/inhibit/Makefile.am 2001/06/23 13:37:17 1.3
+++ test/inhibit/Makefile.am 2001/08/14 08:21:47
@@ -1,10 +1,9 @@
-noinst_PROGRAMS=\
+noinst_PROGRAMS= \
test-inhibit
-IDL = $(top_builddir)/src/idl-compiler/orbit-idl
-INCLUDES=-I$(top_srcdir)/include \
- -I$(top_builddir)/include \
- $(LINC_CFLAGS) \
+INCLUDES=-I$(top_srcdir)/include \
+ -I$(top_builddir)/include \
+ $(LINC_CFLAGS) \
$(GLIB_CFLAGS)
LDADD = $(top_builddir)/src/orb/libORBit-2.la
@@ -14,22 +13,13 @@ BAA_IDLOUT=baa.h baa-stubs.c baa-skels.c
test_inhibit_SOURCES=$(FOO_IDLOUT) $(BAA_IDLOUT) test-inhibit.c
-$(FOO_IDLOUT): foo_built
+IDL_FLAGS=--showcpperrors
+IDL_FILES=foo.idl baa.idl
+include $(top_srcdir)/Makefile.shared
-foo_built: foo.idl $(IDL)
- -(rm -f $(FOO_IDLOUT) || true) > /dev/null
- $(IDL) --showcpperrors $(srcdir)/foo.idl
- touch foo_built
-
-$(BAA_IDLOUT): baa_built
-baa_built: baa.idl $(IDL)
- -(rm -f $(BAA_IDLOUT) || true) > /dev/null
- $(IDL) --showcpperrors $(srcdir)/baa.idl
- touch baa_built
-
TESTS=test-inhibit
BUILT_SOURCES=$(BAA_IDLOUT) $(FOO_IDLOUT)
-CLEANFILES=foo_built baa_built test1_built $(BUILT_SOURCES)
+CLEANFILES=$(BUILT_SOURCES)
-EXTRA_DIST=foo.idl baa.idl
+EXTRA_DIST=$(IDL_FILES)
Index: test/poa/Makefile.am
===================================================================
RCS file: /cvs/gnome/ORBit2/test/poa/Makefile.am,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile.am
--- test/poa/Makefile.am 2001/07/31 00:50:52 1.5
+++ test/poa/Makefile.am 2001/08/14 08:21:47
@@ -1,4 +1,3 @@
-IDL = $(top_builddir)/src/idl-compiler/orbit-idl
INCLUDES=-I$(top_srcdir)/include \
-I$(top_builddir)/include \
$(LINC_CFLAGS) \
@@ -32,11 +31,11 @@ check_PROGRAMS = $(TESTS)
LDADD = $(top_builddir)/src/orb/libORBit-2.la
-ORBIT_IDL = $(top_builddir)/src/idl-compiler/orbit-idl
-
POATEST_IDLOUT = poatest.h poatest-common.c poatest-skels.c poatest-stubs.c
-$(POATEST_IDLOUT) : poatest.idl $(ORBIT_IDL)
- $(IDL) --showcpperrors $<
+
+IDL_FLAGS=--showcpperrors
+IDL_FILES=poatest.idl
+include $(top_srcdir)/Makefile.shared
common_srcs = $(POATEST_IDLOUT) poatest-basic-shell.c poatest-exception.h
@@ -51,9 +50,9 @@ poatest_basic08_SOURCES = $(common_srcs)
poatest_basic09_SOURCES = $(common_srcs) poatest-basic09.c
poatest_basic10_SOURCES = $(common_srcs) poatest-basic10.c
-BUILT_SOURCES = $(POATEST_IDLOUT)
-CLEANFILES = dynany_built echo_built empty_built test1_built test_any_built $(BUILT_SOURCES)
-EXTRA_DIST = poatest.idl README
+BUILT_SOURCES=$(POATEST_IDLOUT)
+CLEANFILES=$(BUILT_SOURCES)
+EXTRA_DIST=$(IDL_FILES) README
README : $(POA_TESTS_SRCS)
awk -F'*' 'BEGIN { intest = 0; } \
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]