On Sat, 05 Dec 2009 05:58:59 +0100, Mike Frysinger <[email protected]>  
wrote:

> On Friday 04 December 2009 20:19:13 Jiří Paleček wrote:
>> On Fri, 04 Dec 2009 20:06:40 +0100, Mike Frysinger <[email protected]>
>>
>> wrote:
>> > On Friday 04 December 2009 11:58:13 Jiri Palecek wrote:
>> >> the makefiles install all files with executable mode by default. This
>> >> patch
>> >>  changes it for some of the Makefiles, that install data files, which
>> >>  should IMHO not be executable. The change makes INSTALL_MODE decide  
>> the
>> >>  actual mode when it is expanded inside the install rule (depending  
>> on
>> >> $@,
>> >>  which is the install target name).
>> >
>> > that's pretty fugly way to go about it.  let's go the more natural  
>> route
>> > and
>> > have the common code default to $(INSTALL_MODE_$@) and if that's  
>> unset,
>> > use
>> > the default $(INSTALL_MODE).
>>
>> Sorry, but I don't agree with that. This is a function-like approach  
>> which
>> is not any less "natural" than what you propose - and it makes no  
>> demands
>> on anyone who doesn't need it, and gives great power to those who need  
>> it.
>
> your solution requires non-obvious delayed evaluation that isnt
> straightforward.  mine is explicit, unambiguous, and already in use by  
> many
> other projects that ltp is related to.

... and weak.

>> The main reason I don't like the INSTALL_MODE_$@ thing, is that eg.
>> INSTALL_TARGETS can contain wildcards (eg. dir/*.ext), and there cannot  
>> be
>> any such thing as $(INSTALL_MODE_dir/*.ext). You would have to enumerate
>> all data files - or all program files - which would be a chore esp. if  
>> any
>> of these isn't known in the makefile until "make all" is ran.
>
> so fix install targets to expand the globs at make time and not shell  
> time.
> i.e. something like INSTALL_TARGETS := $(wildcard $(INSTALL_TARGETS))

We do that currently, but this doesn't change the problem in any way. The  
problem is that if I am able to write

INSTALL_TARGETS := 1* 2*

I want to be able to specify that the files in 1* are executables and  
files in 2* are not, without having to enumerate them all. This is  
impossible with your "explicit" solution.

I would be happy with something like

EXECUTABLES := 1*

   Jiri Palecek

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to