[Top][All Lists]

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

RE: How do I install header files not in GNUstep Header dirs?

From: Sebastian Reitenbach
Subject: RE: How do I install header files not in GNUstep Header dirs?
Date: Mon, 31 Dec 2007 15:43:36 +0100


address@hidden wrote: 
> Well, you are right that xxx_INSTALL_DIR and xxx_HEADER_FILES_INSTALL_DIR 
are not
> consistent because xxx_INSTALL_DIR is absolute, while 
> is relative to GNUSTEP_HEADERS. :-(
> I guess the right solution is to introduce a new variable which is 
absolute to choose
> the header installation dir, and then gnustep-make will use the (old) 
relative or the
> (new) absolute to decide where to install depending on which one is set 
(if both
> are set, we arbitrarily choose one, eg. the absolute one).  We need to 
choose a nice
> name for the new variable though. :-)
> Said that, I'm not sure why you would want to hardcode the installation 
paths in
> your GNUmakefile ?
As there are hardcoded paths in the application objective-c code, not used 
to find the headers, but other stuff. 
But generally I want to provide an option, to install in a more or less 
hardcoded Linux FHS layout, and one that installs into the GNUstep tree.

> Anyway, assuming you have a good reason to do so, for headers there 
currently isn't
> a nice solution to install them into an arbitrary location.  I would 
suggest you
> install them yourself - ie, don't list them in the xxx_HEADER_FILES 
variable (so that
> gnustep-make doesn't install them), and install them manually using an 
> rule:
> CUSTOM_HEADER_INSTALL_DIR = /usr/local/include
> after-install:
>        $(ECHO_NOTHING)for file in $(CUSTOM_HEADER_FILES) __done; do \
>           if [ $$file != __done ]; then \
>             $(INSTALL_DATA) $$file $(CUSTOM_HEADER_INSTALL_DIR)/$$file; \
>           fi; \
>         done$(END_ECHO)
> [I haven't tested the code, so there might be a typo or two, but it should 
work -
> and add a TAB at the beginning of each make command (my email client is 
> them) ;-)]
But I see what you mean. I wanted to prevent me from doing such "magic" in 
my makefiles.

Would it work when I first include $(GNUSTEP_MAKEFILES)/common.make
And then redefine GNUSTEP_MAKEFILES so that the makefiles installed from my 
GNUmakefile will be installed in the redefined location?

> That looks relatively ugly though, as won't work with other filesystem 
layouts. :-(

Yes, Then I'd prefer to introduce a new VARIABLE that would make it work.
e.g. sth. like this:


if defined, it will be used as install target root instead of 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]