Hello-

I've got a program that I'd like to compile with varying sets of options.
All of these options are completely independent, and the actual dependencies
of the targets are the same- they differ only in options passed to the
commands.  My idea was to have each set of flags be a pattern match rule and
an explicit rule.  The pattern match rule would match the option-set to the
suffix, strip the suffix, and depend on the prefix, which would repeat the
process until only a single option-set remained, which would match the
explicit rule.  Here's the relevant portion of the makefile :

debug: CXXFLAGS := $(CXXFLAGS) -Wall -g
debug: all

benchmark: CXXFLAGS := $(CXXFLAGS) -DBENCHMARK
benchmark: all

openmp: CXXFLAGS := $(CXXFLAGS) $(OMP)
openmp: all

release: CXXFLAGS := $(CXXFLAGS) -DNDEBUG -O2
release: all

vector: CXXFLAGS := $(CXXFLAGS) -DUSE_SIMD $(VECTOR_FLAGS)
vector: all


%_debug: CXXFLAGS := $(CXXFLAGS) -Wall -g
%_debug: %

%_benchmark: CXXFLAGS := $(CXXFLAGS) -DBENCHMARK
%_benchmark: %

%_openmp: CXXFLAGS := $(CXXFLAGS) $(OMP)
%_openmp: %

%_release: CXXFLAGS := $(CXXFLAGS) -DNDEBUG -O2
%_release: %

%_vector: CXXFLAGS := $(CXXFLAGS) -DUSE_SIMD $(VECTOR_FLAGS)
%_vector: %


The idea was to be able to do something as such:

make vector_debug_openmp_benchmark

and have CXXFLAGS expand to all of the relevant flags.

The pattern match rules do not do what I'd like them to do, and I do not
understand why.  Is what I'm trying to do feasible/possible?


Thanks in advance for your time,
Timothy Reilly
_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make

Reply via email to