|
From: Bastian M. <bma...@we...> - 2011-03-26 13:28:53
|
>On 25.03.2011 20:21, Bastian Märkisch wrote: >> When trying to build with MinGW and cairo/pango, I noticed a weird >> problem: make seems to have problems with variables defined like this: >> >> CAIRO_CFLAGS = $(shell pkg-config --cflags cairo) > >Note that the make documentation pretty strongly recommends not to do >that. They recommend the other type of variable definition instead: > > CAIRO_CFLAGS := $(shell pkg-config --cflags cairo) > >One of the issues is that with the '=' style definition, pkg-config >would be called every single time that you use any command (indirectly) >including $(CAIRO_CFLAGS). Not something I fell particularly >comfortable doing on MS Windows. Thanks for the clarification. I have updated config/mingw/Makefile accordingly. > >> -DGNUPLOT_PS_DIR="share/PostScript" -DGNUPLOT_JS_DIR="share/js" >> >> libs/include/freetype2 -Id:/Software/mingw-libs/include/libpng14 > --^^-- >> > >Hmmm... I'm not sure drive letters are a good idea in makefiles (or >anywhere in a MinGW environment, for that matter). They tend to royally >screw up make's usual interpretation of ':' for starters. > >Is that raw MinGW, as opposed to MSYS+MinGW you're using? AFAICS, >that's not been the typical setup for quite some time now. > That is MinGW+MSYS. It is really the pkg-config tool which returns these drive letters. Tatsuro Matsuoka's solution was to edit all the .pc files. The updated Makefile filters them out with the help of sed instead. Bastian |