summaryrefslogtreecommitdiff
path: root/spl.mk
blob: 5fce4ba3473a6456ec4f5807afe1f066932b0d3e (plain) (blame)
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
##
##  spreadspace stm8 utils
##
##
##  Copyright (C) 2017 Christian Pointner <equinox@spreadspace.org>
##
##  This file is part of spreadspace stm8 utils.
##
##  spreadspace stm8 utils is free software: you can redistribute it and/or modify
##  it under the terms of the GNU General Public License as published by
##  the Free Software Foundation, either version 3 of the License, or
##  any later version.
##
##  spreadspace stm8 utils is distributed in the hope that it will be useful,
##  but WITHOUT ANY WARRANTY; without even the implied warranty of
##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
##  GNU General Public License for more details.
##
##  You should have received a copy of the GNU General Public License
##  along with spreadspace stm8 utils. If not, see <http://www.gnu.org/licenses/>.
##

include $(SPREADSTM8_PATH)/defines.mk
SPL_LIB = $(SPL_PATH)/Libraries/STM8S_StdPeriph_Driver

SPL_CFLAGS = -D$(SPL_MCU)
ifdef F_XTAL
  CFLAGS += -DHSE_VALUE="((uint32_t)$(F_XTAL))"
endif
SPL_CFLAGS += -I$(SPL_LIB)/inc
SPL_CFLAGS += -I./

CFLAGS += $(SPL_CFLAGS)

ifdef SPL_COMPONENTS
SRC:=$(SPL_COMPONENTS:%=$(SPL_LIB)/src/stm8s_%.c)
else
SPL_DEPS=$(shell $(PP) -MM -D__SDCC $(SPL_CFLAGS) $(SPL_LIB)/inc/stm8s.h)
SPL_HEADER=$(subst $(SPL_LIB)/inc/,,$(filter $(SPL_LIB)/inc/stm8s_%.h,$(SPL_DEPS)))
SRC:=$(SPL_HEADER:stm8s_%.h=$(SPL_LIB)/src/stm8s_%.c)
endif

OBJ = $(SRC:%.c=%.rel)

spl.lib: $(OBJ)
	$(AR) $@ $(OBJ)

%.rel: %.c
	$(CC) -c $(CFLAGS) $< -o $@

clean:
	rm -f $(SRC:%.c=%.rel) $(SRC:%.c=%.sym) $(SRC:%.c=%.lst) $(SRC:%.c=%.asm)