OK, this one is for you developer gurus. It is definitely off topic,
and I deeply apologize for that, but I'm not sure where to post this.
If you know of a better place please let me know. However, in this
massive multideveloper yet beautifully orchestrated project I've come to
know as gEDA, I'm guessing that someone out there can help me with this
gnarly Makefile problem. The problem is this: I'm trying to use GSL
(Gnu scientific library) in a project. In this source file network.cpp
which sits in a directory called msvc is the line:
#include "gsl_eigen.h" // GSL eigenvalue routines
The file gsl_eigen.h is in the directory in msvc/gsl/gsl, and has the
following lines:
#include <gsl/gsl_vector.h>
#include <gsl/gsl_matrix.h>
Those header files also live in msvc/gsl/gsl, but I can't figure out how
to compile network.cpp and have gsl_eigen.h find them. My Makefile so
far is:
vpath %.h msvc msvc/gsl msvc/gsl/gsl
...
CPP = g++
CPPFLAGS = -g -O2 -Wall -Wno-uninitialized
...
network.o: network.cpp
$(CPP) $(CPPFLAGS) -Imsvc/gsl/gsl -o $@ -c $^
and I'm getting these errors:
g++ -g -O2 -Wall -Wno-uninitialized -Imsvc/gsl/gsl -o network.o -c
msvc/network.cpp
In file included from msvc/network.cpp:8:
msvc/gsl/gsl/gsl_eigen.h:23:28: error: gsl/gsl_vector.h: No such file or
directory
msvc/gsl/gsl/gsl_eigen.h:24:28: error: gsl/gsl_matrix.h: No such file or
directory
...
Does anyone have any idea how I can get msvc/gsl/gsl truly included in
the search for header source files so that gsl_eigen.h is happy?