Linux (for data Scientists)
HOGENT toegepaste
informatica
Thomas Parmentier, Andy Van Maele, Bert Van Vreckem, Jan Willem
2025-2026
make = deel van basis toolset voor
software-ontwikkeling op Unix
doel: naam v/te creëren bestandbronnen: naam van bestanden die daarvoor nodig
zijnrecept: commando(’s) die nodig zijn om
doel te creëren uit bronnen
@cmd uitgevoerde commando wordt niet
getoondMakefile:
hello.c:
make [DOEL]
make hellohello$ make
gcc -o hello hello.c
$ ./hello
Hello World
$ make hello
make: 'hello' is up to date.
Make voert enkel recept uit als bron veranderd is!
(false.c: analoog)
# Makefile
.PHONY: all clean
all: true false
true: true.c booleans.h
gcc -o true true.c
false: false.c booleans.h
gcc -o false false.c
clean:
rm -vf true falseall
make (zonder
args)true én false
uitvoerenclean
.PHONY = geen “echt” recept, moet altijd
uitgevoerd worden# Makefile - part 1
sources := $(wildcard *.c)
objects := $(patsubst %.c,%.o,$(sources))
executables := true false
CC := gcc
CFLAGS := -Wall -O:=$(variabele)wildcard - lijst v/bestanden die matchen met
globbing-patroon
true.c false.cpatsubsts - zoeken & vervangen
true.o false.o% = “Pattern rule”
% matcht met true en
false$< = Automatische
variabele
$@ = target van deze regel (hier: true of
false)wordt vertaald naar:
$ make mrproper
rm -vf *.o
rm -vf true false
removed 'true'
removed 'false'
$ make all
gcc -Wall -O -c false.c
gcc -Wall -O -o false false.o
gcc -Wall -O -c true.c
gcc -Wall -O -o true true.o
rm false.o true.o
Voeg .SECONDARY: toe om .o-bestanden te
bewaren:
Begin Makefile met:
.POSIX: Makefile werkt beter op andere platformen
.SUFFIXES: ingebouwde regels (voor C-compilatie)
wissen.PHONY is een GNU make uitbreiding, werkt misschien
niet op andere platformen