-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathMakefile
More file actions
76 lines (55 loc) · 1.84 KB
/
Copy pathMakefile
File metadata and controls
76 lines (55 loc) · 1.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#This makefile makes all the main book code with CppUTest test harness
#Set this to @ to keep the makefile quiet
SILENCE = @
ifdef PLATFORM
COMPONENT_NAME = $(PLATFORM)_tempodb
SRC_FILES = src/tempodb/platform/$(PLATFORM).c
TEST_SRC_FILES = tests/TempoDb/platform/$(PLATFORM)_test.c
MOCKS_SRC_DIRS = mocks/$(PLATFORM)
else
COMPONENT_NAME = tempodb
TEST_SRC_FILES = tests/TempoDb/tempodb_test.c
MOCKS_SRC_DIRS = mocks
endif
#--- Inputs ----#
CPPUTEST_HOME = CppUTest
CPP_PLATFORM = Gcc
PROJECT_HOME_DIR = .
SRC_DIRS += \
src/tempodb
TEST_SRC_DIRS += \
.\
tests
INCLUDE_DIRS =\
.\
$(CPPUTEST_HOME)/include\
mocks\
include/tempodb
CPPUTEST_WARNINGFLAGS = -Wall -Wswitch-default -Werror
#CPPUTEST_CFLAGS = -std=c89
CPPUTEST_CFLAGS += -Wall -Wstrict-prototypes -pedantic
LD_LIBRARIES = -lpthread
STUFF_TO_CLEAN += objs/*.o objs/platform/*.o objs/src/tempodb/* objs/tests/* objs/mocks/* objs/tests/tempodb/* lib/libtempodb*.a *tempodb_tests
CC = cc
all: posix
posix: lib/libtempodb_posix.a
lib/libtempodb_posix.a: objs/base64.o objs/tempodb.o objs/platform/posix.o
ar rv lib/libtempodb_posix.a objs/base64.o objs/tempodb.o objs/platform/posix.o
objs/base64.o:
$(CC) -c -I include/tempodb -o objs/base64.o src/tempodb/base64.c
objs/tempodb.o:
$(CC) -c -I include/tempodb -o objs/tempodb.o src/tempodb/tempodb.c
objs/platform/posix.o:
$(CC) -c -I include/tempodb -o objs/platform/posix.o src/tempodb/platform/posix.c
CppUTest/lib/libCppUTest.a:
cd CppUTest && make lib/libCppUTest.a
vtest_posix:
$(SILENCE)echo ">>> Running Posix Tests"
$(SILENCE)PLATFORM="posix" make vtest_platform
$(SILENCE)echo "<<< Finished Posix Tests"
vtest_common:
$(SILENCE)echo ">>> Running TempoDB Tests"
$(SILENCE)make vtest_platform
$(SILENCE)echo "<<< Finished TempoDB Tests"
vtest: vtest_common vtest_posix
include $(CPPUTEST_HOME)/build/MakefileWorker.mk