-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
45 lines (34 loc) · 998 Bytes
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
######### Variables #########
EXECUTABLES = codage decodage
#a mettre plus tard pour la forme
#EMPLACEMENT DES SOURCES
CSRC = src/
#EMPLACEMENT DES INCLUDES
CINC = includes/
# FLAGS POUR GCC: -Idirectory cherche les fichiers des #include< >
CFLAGS = -Idirectory -std=c99 -Wall -Werror -O3 -pg
# NOM DU COMPILATEUR
CC = gcc
# LISTE DES SOURCES
SRCS= reader.c huffman.c MTF.c RLE.c liste_manager.c
#LES FICHIERS OBJETS
OBJS = $(SRCS:.c=.o)
######### Regle générique de compilation #########
%.o: src/%.c #src/%.h
$(CC) -c $< $(CFLAGS)
######### Regles de compilation #########
all: codage decodage
mv *.o objs/
codage : src/codage.c $(OBJS)
$(CC) $^ $(CFLAGS) -o $@
decodage : src/decodage.c $(OBJS)
$(CC) $^ $(CFLAGS) -o $@
######### Regles de nettoyage #########
clean :
@echo "On supprime tout les .o et les executables"
rm -fr objs/* $(EXECUTABLES)
clean_comp:
rm -f *.comp Tests/*.comp
clean_decomp:
rm -f Tests/*.decomp *.decomp
clean_all: clean clean_comp clean_decomp