summaryrefslogtreecommitdiff
path: root/firmware/test/buflib/Makefile
blob: 33191c6cbe7a929d09d54aade9acc65c4a4f7e19 (plain)
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
FIRMWARE=../..

CC ?= gcc
# Note: Don't be fooled by MEMORYSIZE here
# We have a fixed, predictable buffer in UT_core_allocator_init()
CFLAGS += -g -O2 -DDEBUG -D__PCTOOL__ -DBUFLIB_UNIT_TEST -DMEMORYSIZE=8 -DBUFLIB_DEBUG_BLOCKS -std=gnu99 -I$(FIRMWARE)/include -I$(FIRMWARE)/export -I.
LDFLAGS += -L. -lpthread

.PHONY: clean all

TARGETS_OBJ = test_main.o \
			  test_main2.o \
			  test_move.o \
			  test_move2.o \
			  test_max.o \
			  test_shrink.o \
			  test_shrink_unaligned.o \
			  test_shrink_startchanged.o \
			  test_shrink_cb.o

TARGETS = $(TARGETS_OBJ:.o=)

LIB_OBJ = 	buflib.o \
			core_alloc.o \
			crc32.o \
			strlcpy.o \
			util.o

LIB_FILE = libbuflib.a
LIB = buflib


ifndef V
SILENT:=@
else
VERBOSEOPT:=-v
endif

PRINTS=$(SILENT)$(call info,$(1))

all: $(TARGETS)

test_%: test_%.o $(LIB_FILE)
	$(call PRINTS,LD $@)$(CC) $(LDFLAGS) -o $@ $< -l$(LIB)

$(TARGETS): $(TARGETS_OBJ) $(LIB_FILE)

buflib.o: $(FIRMWARE)/buflib.c
	$(CC) $(CFLAGS) -c $< -o $@

core_alloc.o: $(FIRMWARE)/core_alloc.c
	$(CC) $(CFLAGS) -c $< -o $@

crc32.o: $(FIRMWARE)/common/crc32.c
	$(CC) $(CFLAGS) -c $< -o $@

strlcpy.o: $(FIRMWARE)/common/strlcpy.c
	$(CC) $(CFLAGS) -c $< -o $@

%.o: %.c
	$(call PRINTS,CC $<)$(CC) $(CFLAGS) -c $<

$(LIB_FILE): $(LIB_OBJ)
	$(call PRINTS,AR $@)ar rcs $@ $^

clean:
	rm *.o $(TARGETS) $(LIB_FILE)