Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 

Debian GNU/Linux Reference Guide
Prev Home Next

13.6 Make

Referencias for Make:

  • info make

  • make(1)

  • Managing Projects with make, 2nd edition (O'Reilly)

Variables autom�ticas sencillas:

Sintaxis de las reglas:

     Objetivo: [Prerequisito ... ]
      [TAB] comando1
      [TAB] -comando2         # ignorar errores
      [TAB] @comando3         # evitar repetici�n

Aqu� [TAB] es un TAB. Cada l�nea es interpretada por el shell antes de la sustituci�n de variables por parte de make. Utilice la \ al final de la l�nea para continuar el script. Utilice $$ para escribir el $ para las variables de entorno para un script de shell.

Las reglas impl�citas para el objetivo y los prerequisitos se pueden escribir, por ejemplo, as�:

     %: %.c header.h

o,

     %.o: %.c header.h

En este caso, el objetivo contiene el car�cter % (exactamente uno de ellos). El % puede corresponderse con cualquier subcadena no vac�a en los nombres de los archivos objetivo actuales. Asimismo, los prerequisitos usan % para mostrar c�mo se relaciones sus nombres con el nombre del objetivo actual.

Las reglas de sufijo son una forma obsoleta de definir reglas impl�citas para make. Por compatibilidad, a�n son admitidas en el make GNU pero, en lo posible, utilice las reglas de patr�n equivalentes:

     antigua regla de sufijo --> nueva regla de patr�n
     .c:                     --> %  : %.c
     .c.o:                   --> %.o: %.c

Variables autom�ticas para las reglas anteriores:

     foo.o: nuevo1.c nuevo2.c original1.c nuevo3.c
     $@ == foo.o                                  (objetivo)
     $< == nuevo1.c                               (el primero)
     $? == nuevo1.c nuevo2.c nuevo3.c             (los nuevos)
     $^ == nuevo1.c nuevo2.c original1.c nuevo3.c (todos)
     $* == `%' patr�n correspondiente al patr�n objetivo.

Referencia de las variables:

     foo1 := bar    # Expansi�n �nica
     foo2  = bar    # Expansi�n recursiva
     foo3 += bar    # A�ade
     SRCS := $(wildcard *.c)
     OBJS := $(foo:c=o)
     OBJS := $(foo:%.c=%.o) 
     OBJS := $(patsubst %.c,%.o,$(foo)) 
     DIRS  = $(dir directory/filename.ext) # Extrae "directory"
     $(notdir NAMES...), $(basename NAMES...), $(suffix NAMES...) ...

Ejecute make -p -f/dev/null para ver las reglas autom�ticas internas.


Debian GNU/Linux Reference Guide
Prev Home Next

 
 
  Published under the terms of the GNU General Public License Design by Interspire