Outils pour utilisateurs

Outils du site


autotools:makefile.am

Exécuter du code pour un groupe de nom de fichiers

cpp: cpp/area.pb.cc cpp/load.pb.cc cpp/number.pb.cc cpp/project.pb.cc
 
cpp/%.pb.cc: %.proto
  protoc --cpp_out=cpp $^

$@ désigne ici cpp/XXX.pb.cc et $^ désigne ici XXX.proto.

Ajouter une dépendance à all

Il faut utiliser all-local

all-local: dependance
  commands

GNU Automake, Archive

Substituer une partie d'un texte d'une variable

$(@:.pb.cc=.pb.h)

Remplace dans la variable @ .pb.cc par .pb.h. GNU Make Archive

Création d'une librairie

lib_LTLIBRARIES = lib1.la lib2.la
 
lib1_la_CXXFLAGS = $(AM_CXXFLAGS) -isystem /usr/include
lib1_la_LDFLAGS  = $(AM_LDFLAGS) -release $(VERSION) -Wl,-Map,lib1.map
lib1_la_SOURCES  = source.cc
lib1_ladir       = $(includedir)
lib1_la_HEADERS  = source.h
 
lib2_la_CXXFLAGS …
…

Génération du code Doxygen

all-local: doxygen.stamp
 
doxygen.stamp: $(libXXXXXX_la_SOURCES) $(libXXXXXX_la_HEADERS)
  mkdir -p ../../../doc
  echo Timestamp > doxygen.stamp
  $(DOXYGEN) ./Doxyfile
 
CLEANFILES  = doxygen.stamp
 
EXTRA_DIST  = Doxyfile
 
clean-local:
  rm -Rf ../../../doc
autotools/makefile.am.txt · Dernière modification : 2020/04/26 23:01 de root