On Thu, 23 May 2013, Jed Brown wrote: > Satish Balay <[email protected]> writes: > > > posted to cygwin list - but there is a prior similar post. Appears to > > be a windows process launcher issue. :( > > If long command-line arguments are the problem, we can use response > files. > > http://gcc.gnu.org/wiki/Response_Files > > make-3.99.90 has a $file function that makes this convenient: > > diff --git i/gmakefile w/gmakefile > index 1577acb..2dfdadd 100644 > --- i/gmakefile > +++ w/gmakefile > @@ -56,7 +56,9 @@ allobj := $(foreach pkg, $(pkgs), $(call concatlang,$(pkg))) > > # with-single-library=1 (default) > $(libpetsc_shared) : $(allobj) | $$(@D)/.DIR > - $(call quiet,CLINKER) -shared -o $@ $^ $(PETSC_EXTERNAL_LIB_BASIC) > + $(file > [email protected], $^ $(PETSC_EXTERNAL_LIB_BASIC)) > + $(call quiet,CLINKER) -shared -o $@ @[email protected] > + @rm [email protected]
Hm - that might mean all variants here - 'win32fe', 'ar' etc have to support the @cmdfile notation? Since it works for 'make V=1' - perhaps we coud do something like: if cygwin: V=1 And that might be sufficient? [it works for me] Satish > > # with-single-library=0 > libpkg = $(foreach pkg, $1, $(LIBDIR)/libpetsc$(pkg).so) > > > > Now 'make-git -f gmakefile' works. > > git://git.savannah.gnu.org/make.git > > It looks like they'll ship make-4.0 soon and we can make this sequence > optional, so you would only need make-4.0 (--download-gmake) on Windows. >
