| 
									
										
										
										
											2016-10-25 04:51:07 +00:00
										 |  |  | # Dossiers contenant les fichiers sources, les en-têtes
 | 
					
						
							|  |  |  | # et les sorties
 | 
					
						
							|  |  |  | SRC=src/ | 
					
						
							|  |  |  | INC=inc/ | 
					
						
							|  |  |  | OUT=out/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Configuration du compilateur
 | 
					
						
							| 
									
										
										
										
											2016-10-05 10:52:58 +00:00
										 |  |  | CC=gcc | 
					
						
							| 
									
										
										
										
											2016-10-25 04:51:07 +00:00
										 |  |  | CFLAGS=-Wall -std=c99 -I$(INC) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Objets et exécutables à construire
 | 
					
						
							| 
									
										
										
										
											2016-10-22 00:55:02 +00:00
										 |  |  | PROG=huffman | 
					
						
							| 
									
										
										
										
											2016-10-25 04:51:07 +00:00
										 |  |  | SOURCES=$(wildcard $(SRC)*.c) | 
					
						
							|  |  |  | OBJECTS=$(patsubst $(SRC)%.c,$(OUT)%.o,$(SOURCES)) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #####################################################
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | all: $(OUT) $(OUT)$(PROG) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Créer le dossier de sortie si nécessaire
 | 
					
						
							|  |  |  | $(OUT): | 
					
						
							|  |  |  | 	mkdir -p $(OUT) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Lier les différents fichiers objets générés en un exécutable
 | 
					
						
							|  |  |  | $(OUT)$(PROG): $(OBJECTS) | 
					
						
							|  |  |  | 	$(CC) $^ $(CFLAGS) -o $@ | 
					
						
							| 
									
										
										
										
											2016-10-05 10:52:58 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-25 04:51:07 +00:00
										 |  |  | # Générer les fichiers objets pour chaque source
 | 
					
						
							| 
									
										
										
										
											2016-10-27 13:36:51 +00:00
										 |  |  | $(OUT)buffer.o: $(SRC)buffer.c $(INC)buffer.h | 
					
						
							| 
									
										
										
										
											2016-10-25 04:51:07 +00:00
										 |  |  | $(OUT)compress.o: $(SRC)compress.c $(INC)compress.h $(INC)common.h \ | 
					
						
							|  |  |  | 	$(INC)display.h | 
					
						
							|  |  |  | $(OUT)display.o: $(SRC)display.c $(INC)display.h $(INC)common.h | 
					
						
							|  |  |  | $(OUT)huftree.o: $(SRC)huftree.c $(INC)huftree.h $(INC)common.h | 
					
						
							|  |  |  | $(OUT)main.o: $(SRC)main.c $(INC)compress.h $(INC)common.h | 
					
						
							| 
									
										
										
										
											2016-10-05 10:52:58 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-25 04:51:07 +00:00
										 |  |  | $(OBJECTS): | 
					
						
							|  |  |  | 	$(CC) $(CFLAGS) -o $@ -c $< | 
					
						
							| 
									
										
										
										
											2016-10-05 10:52:58 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-10-25 04:51:07 +00:00
										 |  |  | # Nettoyer le dossier de sortie
 | 
					
						
							| 
									
										
										
										
											2016-10-12 10:28:38 +00:00
										 |  |  | clean: | 
					
						
							| 
									
										
										
										
											2016-10-25 04:51:07 +00:00
										 |  |  | 	rm -rf out |