EXECUTABLE = giis
LINKC = $(CC)
CPPFLAGS =
LDFLAGS =
CFLAGS = -Wall -o2
SRC := $(wildcard *.c)
OBJ := $(patsubst %.c,%.o,$(wildcard *.c))
DEP := $(patsubst %.o,%.d,$(OBJ))
all := EXECUTABLE

$(EXECUTABLE) : $(DEP) $(OBJ)
	$(LINKC) $(LDFLAGS) -o $(EXECUTABLE) $(OBJ)

#specify deoendency files 
%.d : %.c 
	$(CC) -M $(CPPFLAGS) $< >@
	$(CC) -M $(CPPFLAGS) $< |sed s/\\.o/.d| > $@
clean :
	-rm $(OBJS) $(EXTCUTABLE) $(DEP) *~
explain :
	@echo "Command Name : $(EXECUTABLE)" 
	@echo "Source       : $(SRC)"
	@echo "Object       : $(OBJ)"
	@echo "Dependency Files : $(DEP)"
depend : $(DEP)
	@echo "Files updated..."

