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