[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: debian/rules "make -f" restriction



On Wed, Oct 28 2009, Tobi wrote:

> Manoj Srivastava wrote:
>
>>         This is what the make directive 'include' is all
>>  about. Conditionally, include fileA or fileB. Each file is all
>>  uncontaminated now.
>> 
>>         This is not a technical  shortcoming of using Makefiles.
>
> You're right. What we do might be possible from "within" the Makefile
> itself. Maybe even a custom cdbs rule might be possible. But it's not that
> easy and it would make the debian/rules less readable.

        I beg to differ.  It is really trivial, and it does not make the
        rules file less readable 

#!/usr/bin/make -f
ifeq (,$(srip $(ENV_VAR_WE_LOOK_FOR)))
include regular.mk
else
include special.mk
endif

        Done.

> The solution we have right now is in some way "elegant", because you have
> only to deal with a standard debian/rules and besides the different
> shebang line there's nothing else to care about.

        Actually, there is. My states makefile can no longer 
include debian/rules, because, you see, it is not a makefile. There are
other ways that it does not look like a makefile, walk like a makefile,
or quack like one.


> But putting the technical aspect completeley aside - with our "hack",
> the debian/rules still bahaves as it should be. You can run
> "debian/rules" and you can run "make -f debian/rules". It's still a
> "self executing" Makefile.

        That is just one aspect.

> IMHO the policy is a little bit over-specific, when stating "It must start
> with the line #!/usr/bin/make -f".

        It is also a policy that everyone else seems to follow.

> It seems nobody else has ever thought about changing the shebang line
> of debian/rules, so most likely the policy will not get changed just
> because I stumbled upon this issue.

        We have thought of it, and rejected it as needless inconsistency.


> So what about just adding a Linitan override and leave everything else
> as it is? Our debian/rules still follows the "spirit" of the Debian
> policy, even if it does not start with "#!/usr/bin/make -f".

        I do not think it follows the policy, no.

        manoj
-- 
Karl's version of Parkinson's Law: Work expands to exceed the time
allotted it.
Manoj Srivastava <srivasta@debian.org> <http://www.debian.org/~srivasta/>  
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C


Reply to: