winemaker

lawson_whitney at juno.com lawson_whitney at juno.com
Fri Oct 12 16:56:15 CDT 2001


On Fri, 12 Oct 2001, Francois Gouget wrote:

>    Hmm, I never really tested "make install". It's something that was in
> the original makefile I started from and that I mostly kept around.

How are Winelib programs meant to be installed, then?  Am I missing
something obvious?

> Should work though. Make sure that it is not copying the symbolic links
> but creates real files in the $prefix/bin directory...

for i in ; do (cd $i; make install) || exit 1; done
/bin/sh: -c: line 1: syntax error near unexpected token `;'
/bin/sh: -c: line 1: `for i in ; do (cd $i; make install) || exit 1; done'
make: *** [install] Error 2

This should not be hard to fix, I think:

install::
	for i in $(SUBDIRS); do (cd $$i; $(MAKE) install) || exit 1; done
	for i in $(EXES); do $(INSTALL_PROGRAM) $$i $(bindir); done
	for i in $(EXES:%=%.so) $(DLLS); do $(INSTALL_PROGRAM) $$i $(libdir); done

Just leave out the first line if there are no SUBDIRS, no? And the same
for uninstall.  Now, however, make has made a symbolic link to
/usr/local/bin/wine for each of EXES, which seems right, so they can be
run from where they were built, so the next line makes a copy of the
wine executable in the name of each executable, and we install the .so
file in libdir.  AFAICT, wine will be looking for it in bindir.  I
thought perhaps I had misled winemaker into thinking it was making a
dll, but I did tell it quite clearly --console:

winemaker --nosource-fix --console --nogenerated-specs --single-target toj2 wlp

>    Also, you will need a proper 'install' program. In full-fledged
> autoconf setups they have an install-sh script because they don't trust
> the system tool. I felt it was not worth the overhead in winemaker as
> the install procedure is very likely to need customization anyway.
>
True.  As long as ./configure works, it is not to onerous to fix a few
lines of Makefile.in.  Indeed, that is how I installed the version of
toj2 I am sending this with.  I think, though, the subdirs line could be
conditional, and maybe libdir for bindir is a mistake.  I don't want to
make things more difficult for those who are doing truly hairy and
difficult tasks with winemaker just to make everything perfectly smooth
for my little app.  I can't think of a case where you would want to
install EXES into bindir, either, instead of somethng like:

install::
	for i in $(EXES); do  cd $(bindir) && $(RM) -f $$i && $(LN_S) wine $$i; done
	for i in $(EXES:%=%.so) $(DLLS); do $(INSTALL_PROGRAM) $$i $(bindir); done

>    Well, let me know what you find.
>
Winemaker is a terrific help, and thank you for it.
>
> --
> Francois Gouget         fgouget at free.fr        http://fgouget.free.fr/
>                             $live{free} || die "";
>
Lawson

panic: detected rogue system administrator!!
---cut here





More information about the wine-devel mailing list