include config.mk

STREAM=bin/stream
STREAM_OBJ_FILES=obj/stream.o

SIMPLE=bin/simple
SIMPLE_OBJ_FILES=obj/simple.o

release: $(STREAM) $(SIMPLE)
release: CFLAGS+=-DNDEBUG -O2

debug: $(STREAM) $(SIMPLE)
debug: CFLAGS+=-g

$(STREAM): $(STREAM_OBJ_FILES) | bin
	cc $(LDFLAGS) $^ -o $@

$(SIMPLE): $(SIMPLE_OBJ_FILES) | bin
	cc $(LDFLAGS) $^ -o $@

obj/%.o: src/%.c | obj
	cc $(CFLAGS) -c $< -o $@

bin obj:
	mkdir -p $@

clean:
	rm -rf bin obj

.PHONY: release debug clean
