master
 1#!/usr/bin/make -f
 2SHELL=/bin/sh
 3
 4CC=clang
 5CFLAGS=-std=c99
 6TEST_LIBS = -lcgreen
 7
 8BUILDDIR := build
 9OBJS := $(addprefix $(BUILDDIR)/,btree.o stack.o)
10TEST_OBJS := $(addprefix $(BUILDDIR)/,btree_test.o stack_test.o)
11
12$(BUILDDIR)/%.o : %.c
13	$(COMPILE.c) $(OUTPUT_OPTION) $<
14
15.PHONY: all
16all: $(OBJS) $(BUILDDIR)/main.o
17	$(CC) $(OBJS) $(BUILDDIR)/main.o -o $(BUILDDIR)/program
18
19.PHONY: test
20test: $(OBJS) $(TEST_OBJS)
21	$(CC) $(OBJS) $(TEST_OBJS) $(TEST_LIBS) -o $(BUILDDIR)/test
22
23$(OBJS): | $(BUILDDIR)
24
25$(TEST_OBJS): | $(BUILDDIR)
26
27$(BUILDDIR):
28	mkdir $(BUILDDIR)
29
30.PHONY: clean
31clean:
32	rm -fr build
33
34run : all
35	./build/program
36
37run_test : test
38	cgreen-runner -c -v $(BUILDDIR)/test