gnu make - how Makefiles work exactly -
i'm writing code gtk application written in c, , have questions it. # compiler cc = gcc cflags = -wall -g -o rm = rm -f # additional header path gtkinc = `pkg-config --cflags gtk+-3.0` gtklib = `pkg-config --libs gtk+-3.0` inc = $(gtkinc) liblnk = $(gtklib) # sources, objects, executable srcs = hello.c objs = $(srcs:.c = .o) exec = hello .phony: clean all: $(exec) @echo compile complete $(exec): $(objs) $(cc) $(inc) $(cflags) $(exec) $(objs) $(liblnk) clean: $(rm) *.o *~ $(exec) previously, when wrote makefiles,i added lines each object files for example blah blah a.o: 1.h a.c b.c $(cc) blah blah blah blah and then, got little lazy , tried make more easy-to-modify file googling up, , product above code. 1. same thing did previously?(like in example) found out code compiles properly, i'm not sure if checks out-of-date object files.(which whole meaning of 'make') 2. have to use 'depend' on header files in order chec