- Se utiliza
make
para cualquier proyecto con dependencias entre archivos, no solo para compilar programas de C.. - En el lenguaje
C
la relación de dependencia es- Los ejecutables dependen de los file objects
.o
- Los file objects
.o
dependen de su código fuente.c
y de los archivos de cabecera.h
que incluyan los.c
- Los ejecutables dependen de los file objects
Observaciones acerca de la compilación de programas con el lenguaje C
- Los archivos
.o
son objetos- Los
.h
son archivos de cabecera (headers), se incluyen declaraciones de estructuras, variables globales y funciones (prototipos/firmas)- Los
.c
son archivos fuente, los que tienen la implementación del programa (de las funciones)
DOWNLOAD_VERSION=1.2023.1
DOWNLOAD_NAME=plantuml-$(DOWNLOAD_VERSION).jar
DOWNLOAD_URL=https://github.com/plantuml/plantuml/releases/download/v$(DOWNLOAD_VERSION)/$(DOWNLOAD_NAME)
download-plantuml:
$(info Descargando plantuml..)
cd ~ && curl -O $(DOWNLOAD_URL)
;; este lenguaje es elisp, no es necesario entenderlo para saber GNU Make
(setq org-plantuml-jar-path (expand-file-name "~/plantuml.jar"))
(add-to-list 'org-src-lang-modes '("plantuml" . plantuml))
(org-babel-do-load-languages 'org-babel-load-languages '((plantuml . t)))
- Makefile Source Code blocks in Org mode (orgmode.org)
- Plantuml integration with Emacs (plantuml.com)
- GNU Make Manual (gnu.org)
- Static Usage (gnu.org)
- GCC - Link Options (gcc.gnu.org)
- Implicit Variables (gnu.org/make)
- The Make (UNIX) Utility (Emory College of Arts and Sciences - mathcs.emory.edu)
- Construcción de archivos makefile (Universidad Carlos III de Madrid - it.uc3m.es)
- A sample makefile and how it works (Duke University - courses.cs.duke.edu)
- Makefile cheatsheet (devhints.io)
- Utilidad Make, construir proyectos grandes (zator.com)
- Learn Makefiles (makefiletutorial.com)
- Practical Makefiles, by Example (nuclear.mutantstargoat.com)
- Most frequently used gcc cmd line options (thegeekstuff.com)
- Advanced auto dependency generation (make.mad-scientist.net)
- Autodependencies with GNU Make (scottmcpeak.com)
- Variables and Macros - Managing Projects with GNU Make (oreilly.com)
- Generation of dependency rules (fatalerrors.org)
- Automation and Make (swcarpentry.github.io)
- Understanding and using makefile Flags (earthly.dev)
- Introduction How to Use Makefiles (sliderplayer.com)
- Cosas que posiblemente no sepas sobre gnu make #1 (jjmerelo.medmium.com)
- Cosas que posiblemente no sepas sobre gnu make #2 (jjmerelo.medmium.com)
- Comando AR, para crear bibliotecas estáticas (islabit.com)
- Makefile vpath not working for header files (py4u.net)
- What is the difference between % and * (stackoverflow.com)
- A makefile with multiple executables (stackoverflow.com)
- How to add headers to a Makefile (stackoverflow.com)
- Makefile header dependencies (stackoverflow.com)
- Wildcard to obtain list of all directories (stackoverflow.com)
- Sources from subdirectories in makefile (stackoverflow.com)
- Alternative to watch make (stackoverflow.com)
- Makefile silence the maken line specifically (stackoverflow.com)
- Defining a default target, first target Vs .DEFAULT_GOAL (stackoverflow.com)