CC = gcc
CFLAGS = -ansi -Wall
SRCDIR = ./src
ODIR = ./out
OFILES = $(subst src/,out/,$(subst .c,.o,$(shell find $(SRCDIR)/ -type f)))
EXE = vernam

but : $(EXE)

$(ODIR)/%.o : $(SRCDIR)/%.c
	@mkdir -p $(@D)
	$(CC) -c $< -o $@

$(EXE) : $(OFILES)
	$(CC) $(CFLAGS) -o $(EXE) $(OFILES)

clean :
	-rm -rf $(ODIR)

.PHONY : but clean