# compilateur utilis
CC = gcc -O2 -DUNIX -Wall -g
# compilateur utilis quand une forte optimisation est ncessaire
CC_OPT = gcc -O6 -DUNIX -Wall -g

# rpertoire on seront placs les fichiers .o
OBJ_DIR = obj

# tout les repertoires a rajouter dans le PATH utilise pour les includes
INCLUDE_PATH = -Iimage -Iutils
# tout les repertoires a rajouter dans le PATH utilise lors du linkage
LIBRARY_PATH = 
# toutes les bibliotheques a utiliser au linkage
LIBRARY      = -lm -ljpeg

############################################################
# pour le programme final (le linkage)
all: resize_image

dist:
	mv obj obj_old
	mkdir obj
	tar cvf resize_image-`date +%d.%m.%Y`.tar image utils obj *.c Makefile* *.spec README COPYING ChangeLog AUTHORS
	gzip resize_image-`date +%d.%m.%Y`.tar
	rmdir obj
	mv obj_old obj

############################################################
# pour les utils (quelques fonctions utiles)

UTILS_DIR = utils
include utils/Makefile

############################################################
# pour les images

IMAGE_DIR = image
include image/Makefile

resize_image : $(OBJ_DIR)/resize_image.o $(IMAGE_OBJS) $(UTILS_OBJS)
	$(CC) $(OBJ_DIR)/resize_image.o $(IMAGE_OBJS) $(UTILS_OBJS) $(LIBRARY_PATH)\
	$(LIBRARY) -o $@

############################################################
# pour le programmes de demonstration

$(OBJ_DIR)/resize_image.o : resize_image.c $(IMAGE_H) $(UTILS_H)
	$(CC) -c resize_image.c -o $@ $(INCLUDE_PATH)

############################################################
# pour faire le mnage
clean:
	rm $(OBJ_DIR)/* core resize_image
