forked from menault/2026_TD1_DEV51_Qualite_Algo
34 lines
790 B
Makefile
34 lines
790 B
Makefile
CC = gcc
|
|
CFLAGS ?= -std=c11 -Wall -Wextra -Wpedantic -O0
|
|
|
|
SOURCE = src/analyseur.c
|
|
PROGRAMME = build/analyseur
|
|
PROGRAMME_PROFIL = build/profil/analyseur
|
|
REFERENCE = resultats/rapport_reference_10000000.txt
|
|
|
|
.PHONY: all run check profile clean
|
|
|
|
all: $(PROGRAMME)
|
|
|
|
$(PROGRAMME): $(SOURCE) Makefile
|
|
mkdir -p $(@D)
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) $< -o $@ $(LDFLAGS) $(LDLIBS)
|
|
|
|
run: $(PROGRAMME)
|
|
cd build && ./analyseur
|
|
|
|
check: run
|
|
cmp $(REFERENCE) build/rapport.txt
|
|
|
|
$(PROGRAMME_PROFIL): $(SOURCE) Makefile
|
|
mkdir -p $(@D)
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) -pg $< -o $@ $(LDFLAGS) $(LDLIBS)
|
|
|
|
profile: $(PROGRAMME_PROFIL)
|
|
cd build/profil && ./analyseur
|
|
cd build/profil && gprof -b ./analyseur gmon.out > profil.txt
|
|
@printf 'Profil disponible dans build/profil/profil.txt\n'
|
|
|
|
clean:
|
|
rm -rf build
|