Makefile is a very comprehensive and flexible way of describing build process with its actions, dependencies etc. There are a lot of possible ways of writing it and thus there will never be a simple single answer to your question. For the sake of example, here is how your Makefile could look like for your simple case:
BIN = q1 q2 q3 q4
all: $(BIN)
clean:
$(RM) $(BIN)
It could also look like this if you add and remove source files frequently and each file should be compiled into a standalone executable:
SRC = $(wildcard *.c)
BIN = $(patsubst %.c,%,$(SRC))
all: $(BIN)
clean:
$(RM) $(BIN)
And it can get more and more complex depending on the size and requirements of your project.
I'd recommend you to start from something simple like above example and read Make documentation to get a feeling of what it can do.
Also, Make is quite old, complicated technology. It takes a lot of time and practise to master and gives you a very little in response. There are alternatives. I personally recommend CMake - it is a lot easier, a bit higher level system that can generate build scripts for you. It supports Makefiles, Xcode and a lot more. It's definitely worth taking a look.