summaryrefslogtreecommitdiff
path: root/cleopatre/devkit/tests/plcd/Makefile
blob: df88704db014e482882a03da856edf9c68009074 (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
68
69
70
71
72
73
74
OBJPATH := obj
SRCPATH := src
OVERRIDE := override
INCPATH := .

CLEO_DIR := ../../..
PLCD_DIR := $(CLEO_DIR)/devkit/plcd
LIBSPID_STUBS_DIR := $(CLEO_DIR)/devkit/tests/libspid/stubs
LIBMME_DIR := $(CLEO_DIR)/application/libmme
LIBSPID_DIR := $(CLEO_DIR)/application/libspid
LINUX_DIR := $(CLEO_DIR)/linux-2.6.25.10-spc300
PLCD_SRC_DIR := $(PLCD_DIR)/src

GIT_DIR := $(CLEO_DIR)/..
COMMON_INC := $(GIT_DIR)/common/include

INCLUDES := -I$(INCPATH) \
	-I$(OVERRIDE) \
	-I$(PLCD_DIR)/inc \
	-I$(COMMON_INC) \
	$(shell $(LIBSPID_DIR)/libspid-config --I_opts)

CC := gcc
CFLAGS := $(INCLUDES) -MMD -Wall -g -fprofile-arcs -ftest-coverage
LFLAGS := -lcheck -fprofile-arcs

UTEST_BASE := utest_launcher.o libspid_stub.o
UTEST_BASE_OBJ := $(addprefix $(OBJPATH)/, $(UTEST_BASE))

SRCS := $(subst $(SRCPATH)/,,$(wildcard $(SRCPATH)/*.c)) \
	$(subst $(PLCD_SRC_DIR)/,,$(wildcard $(PLCD_SRC_DIR)/*.c))
OBJS := $(addprefix $(OBJPATH)/,$(SRCS:.c=.o)) $(UTEST_BASE_OBJ)
DEPS := $(patsubst %o,%d,$(OBJS))
COVS := $(patsubst %o,%gcno,$(OBJS)) $(patsubst %o,%gcda,$(OBJS))


UTEST_AUTOSWITCH_BIN := $(OBJPATH)/utest_plcd_autoswitch

COVS := $(COVS) $(UTEST_AUTOSWITCH_BIN).info

UTEST_PLCD_AUTOSWITCH_OBJ := $(UTEST_BASE_OBJ) \
	$(addprefix $(OBJPATH)/, utest_plcd_autoswitch.o \
	plcd_autoswitch.o )

$(UTEST_AUTOSWITCH_BIN): $(UTEST_PLCD_AUTOSWITCH_OBJ)
	$(CC) -o $@ $(UTEST_PLCD_AUTOSWITCH_OBJ) $(LFLAGS)


all: $(UTEST_AUTOSWITCH_BIN)

$(OBJPATH)/%.o: $(PLCD_SRC_DIR)/%.c
	$(CC) $(CFLAGS) -o $@ -c $<

$(OBJPATH)/%.o: $(SRCPATH)/%.c
	$(CC) $(CFLAGS) -o $@ -c $<

$(OBJPATH)/%.o: $(LIBSPID_STUBS_DIR)/%.c
	$(CC) $(CFLAGS) -o $@ -c $<

$(OBJS): | $(OBJPATH)

$(OBJPATH):
	mkdir $(OBJPATH)

-include $(DEPS)

.PHONY: all clean

clean:
	rm -f $(OBJPATH)/utest_plcd_autoswitch
	rm -f $(OBJS)
	rm -f $(DEPS)
	rm -f $(COVS)
	rmdir $(OBJPATH)