Hi Jeffrey, On 12/19/22 16:57, Jeffrey Walton wrote:
On Mon, Dec 19, 2022 at 10:45 AM Alejandro Colomar <alx.manpa...@gmail.com> wrote:I needed to use MAKEOVERRIDES for updating a pkgconf (.pc) file. I want it to have the correct directory variables as used when building/installing the library, so if the user specifies 'includedir=/foo/bar' in the command line, the .pc file should be updated with that info. The rule I had to use is: $(_LIB_pc): $(_LIB_pc_u) Makefile | $$(@D)/ $(info SED $@) sed 's/Version:.*/Version: $(DISTVERSION)/' <$< >$@ sed -i 's,prefix=.*,prefix=$(prefix),' $@ ifneq ($(filter includedir=%,$(MAKEOVERRIDES)),) sed -i 's,includedir=.*,includedir=$(includedir),' $@ endif As you can see, I need to check if it was overridden in the command line (otherwise, the default 'includedir=${prefix}/include' in the .pc file is fine). And then I do override it.I don't think you need to go to extremes. Just check if includedir is set. If so, use it. If not, use the default of $prefix/include. You can do this in your makefile [1,2]: ifeq ($(includedir),) includedir := $(prefix)/include PC_INCLUDEDIR = $${prefix}/include else PC_INCLUDEDIR = $(includedir) endif myconfig.pc: ... @echo 'includedir=$(PC_INCLUDEDIR)' >> myconfig.pc Jeff [1] https://github.com/weidai11/cryptopp/blob/master/GNUmakefile#L202 [2] https://github.com/weidai11/cryptopp/blob/master/GNUmakefile#L1544
Interesting! Thanks for the idea! Anyway, the missing documentation bug is still a concern :) Cheers, Alex -- <http://www.alejandro-colomar.es/>
OpenPGP_signature
Description: OpenPGP digital signature