Next: Complete Listing of cflow
Options., Previous: Configuration Files and Variables., Up: GNU cflow [Contents][Index]
cflow
in Makefiles.If you wish to use cflow
to analyze your project
sources, Makefile or Makefile.am is the right place to
do so. In this chapter we will describe a generic rule for
Makefile.am. If you do not use automake
, you can
deduce the rule for plain Makefile from this one.
Here is a check list of steps to do to set up a Makefile.am framework:
EXTRA_DIST
variable.
CFLOW_FLAGS
with any special cflow
options you wish to use. The variable can be empty, its main purpose
is making it possible to override cflow
options by running
make CFLOW_FLAGS=… chart
.
dir_PROGRAMS
list,
for which you want to generate a flow chart, add the following statements:
program_CFLOW_INPUT=$(program_OBJECTS:.$(OBJEXT)=.c) program.cflow: program_CFLOW_INPUT Makefile cflow -oprogram.cflow --profile=gcc $(CFLOW_FLAGS) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) \ $(program_CFLOW_INPUT)
If you do not wish to use preprocessing, remove from the
cflow
command line all variables, except CFLOW_FLAGS
.
Instead of using a predefined profile (gcc
in the example
above), you may wish to supply a customized profile in your project.
If so, use its filename as the argument to the --profile
option. For example: ‘--profile=$(srcdir)/foo.cfo’.
flowcharts: prog1.cflow prog2.cflow ...
As an example, here are the relevant statements which we use in
cflow
src/Makefile.am:
CFLOW_FLAGS=-i^s cflow_CFLOW_INPUT=$(cflow_OBJECTS:.$(OBJEXT)=.c) cflow.cflow: $(cflow_CFLOW_INPUT) Makefile cflow -ocflow.cflow -P$(srcdir)/init --profile=gcc \ $(CFLOW_FLAGS) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) \ $(cflow_CFLOW_INPUT)
Next: Complete Listing of cflow
Options., Previous: Configuration Files and Variables., Up: GNU cflow [Contents][Index]