On 12/19/04 18:22:39, Philip Martin wrote:
> John Lenz <lenz@cs.wisc.edu> writes:
>
> > The only problem I currently see with external-all (taking a glance at
> it
> > right now), is we don't want to run make install inside the SWIG
> directory.
> > It seems that EXTERNAL_PROJECT_DIRS is used for both external-all and
> > external-install. SWIG is only a build time tool, so if we are
> building
> it
> > externally, after the build is over SWIG is not needed... no need to
> > install it.
>
> You could make external-all operate on two lists EXTERNAL_PROJECT_DIRS
> and EXTERNAL_PROJECT_DIRS_NOINST and put SWIG in the second list. Or
> you could just skip SWIG using code like that for neon in the
> external-extraclean rule.
>
Ok, I tried that and here is the relevant part of the diff.
One major problem tho. SWIG does not have a "make all" target. The target
to build swig is either just "make" or "make swig". I can commit a change
to cvs adding an all target, but that isn't much help for 1.3.24. So, how
should I change the following parts of the makefile? Is it ok to just call
make instead of make-all inside EXTERNAL_PROJECT_DIRS, or should I add a
third, external-make or something with a different list of dirs, or should
I go back to that swig-build-preinst. I kinda liked the swig-build-preinst
way because then ONLY only the .c files depend on building SWIG. If for
some reason the .c files are already there, then SWIG would not be
compiled...
It isn't really my call, how would you like the build to work?
John
# recursive targets to handle external projects (e.g. APR, Neon)
-external-all external-install:
+external-all:
@target=`echo $@ | sed s/external-//`; \
- list='$(EXTERNAL_PROJECT_DIRS)'; \
+ list='$(EXTERNAL_PROJECT_DIRS)'; \
+ for i in $$list; do \
+ echo "------ making $$target in $$i"; \
+ (cd $$i && $(MAKE) $$target) || exit 1; \
+ echo "------ completed $$target in $$i"; \
+ done;
+
+# recursive targets to handle external projects (e.g. APR, Neon)
+external-install:
+ @target=`echo $@ | sed s/external-//`; \
+ list='$(EXTERNAL_PROJECT_INSTALL_DIRS)'; \
for i in $$list; do \
echo "------ making $$target in $$i"; \
(cd $$i && $(MAKE) $$target) || exit 1; \
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Dec 21 02:04:01 2004