HEADERS = gamedata.h ODIR = out _OBJ = gamedata.o server.o OBJ = $(patsubst %,$(ODIR)/%,$(_OBJ)) TDIR = out _TARGET = server TARGET = $(TDIR)/$(_TARGET) CC = gcc CFLAGS = -g -Wall default: server $(ODIR)/%.o: %.c $(HEADERS) $(CC) $(CFLAGS) -c $< -o out/$@ server: $(OBJ) $(CC) $(OBJ) -o $(TARGET) clean: -rm -f $(OBJ) $(TARGET)