
RELEASE = -O3

OBJ = junk/
JUNK = junk/

SRC = src/
H = header/


CFLAGS = -pipe -Wall -Wextra
INCPATH = -I${H}

GPP = g++ 
EXEC = projet_cpe

LINKLIB =  -lm


F01=main
F02=color
F03=exception_cpe
F04=image


EVERYTHING = $(OBJ)$(F01).o $(OBJ)$(F02).o $(OBJ)$(F03).o $(OBJ)$(F04).o


all: $(EXEC)


$(EXEC): $(EVERYTHING)
	@echo 
	@echo ================ [LINKAGE ...]  ================ 
	@echo

	$(GPP) $(EVERYTHING) -o $(EXEC) $(LINKLIB)
	@echo
	@echo [OK]
	@echo 
	@echo ================ [progam compiled succesfully] ================ 
	@echo


$(OBJ)$(F01).o: $(SRC)$(F01).cpp
	@echo --------- build [$(1)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(SRC)$(F01).cpp -o $(OBJ)$(F01).o
	@echo OK [$(F01)]
	@echo

$(OBJ)$(F02).o: $(SRC)$(F02).cpp $(H)$(F02).hpp
	@echo --------- build [$(F02)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(SRC)$(F02).cpp -o $(OBJ)$(F02).o
	@echo OK [$(F02)]
	@echo

$(OBJ)$(F03).o: $(SRC)$(F03).cpp $(H)$(F03).hpp
	@echo --------- build [$(F03)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(SRC)$(F03).cpp -o $(OBJ)$(F03).o
	@echo OK [$(F03)]
	@echo


$(OBJ)$(F04).o: $(SRC)$(F04).cpp $(H)$(F04).hpp
	@echo --------- build [$(F04)] ----------
	$(GPP) -c  $(CFLAGS) $(INCPATH) $(SRC)$(F04).cpp -o $(OBJ)$(F04).o
	@echo OK [$(F04)]
	@echo

clean:
	rm -f *~ *.o $(OBJ)*.o $(SRC)*~ $(H)*~ *# $(H)*# $(SRC)*# 
	@echo
	@echo cleaning done
	@echo

