Statistics
| Branch: | Tag: | Revision:

amiro-os / kernel / kernel.mk @ 3cee92c7

History | View | Annotate | Download (3.595 KB)

1
################################################################################
2
# AMiRo-OS is an operating system designed for the Autonomous Mini Robot       #
3
# (AMiRo) platform.                                                            #
4
# Copyright (C) 2016..2019  Thomas Schöpping et al.                            #
5
#                                                                              #
6
# This program is free software: you can redistribute it and/or modify         #
7
# it under the terms of the GNU General Public License as published by         #
8
# the Free Software Foundation, either version 3 of the License, or            #
9
# (at your option) any later version.                                          #
10
#                                                                              #
11
# This program is distributed in the hope that it will be useful,              #
12
# but WITHOUT ANY WARRANTY; without even the implied warranty of               #
13
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                #
14
# GNU General Public License for more details.                                 #
15
#                                                                              #
16
# You should have received a copy of the GNU General Public License            #
17
# along with this program.  If not, see <http://www.gnu.org/licenses/>.        #
18
#                                                                              #
19
# This research/work was supported by the Cluster of Excellence Cognitive      #
20
# Interaction Technology 'CITEC' (EXC 277) at Bielefeld University, which is   #
21
# funded by the German Research Foundation (DFG).                              #
22
################################################################################
23

    
24

    
25

    
26
# set kernel path variable
27
AMIROOS_KERNEL_DIR := $(dir $(lastword $(MAKEFILE_LIST)))
28

    
29
# set ChibiOS path variable
30
CHIBIOS := $(AMIROOS_KERNEL_DIR)ChibiOS
31

    
32
# load licensing files
33
include $(CHIBIOS)/os/license/license.mk
34

    
35
# load startup files
36
## must be loaded by each module individually
37

    
38
# load HAL-OSAL files
39
include $(CHIBIOS)/os/hal/hal.mk
40
## platform.mk must be loaded by each module individually
41
include $(CHIBIOS)/os/hal/osal/rt/osal.mk
42
include $(CHIBIOS)/os/hal/lib/streams/streams.mk
43

    
44
# load RTOS files
45
include $(CHIBIOS)/os/rt/rt.mk
46
## compiler port must be loaded by each module individually
47

    
48
## load auto-build files in ./source recursively.
49
#include $(CHIBIOS)/tools/mk/autobuild.mk
50

    
51
# load test files
52
include $(CHIBIOS)/test/lib/test.mk
53
include $(CHIBIOS)/test/rt/rt_test.mk
54
include $(CHIBIOS)/test/oslib/oslib_test.mk
55

    
56
# include paths
57
AMIROOS_KERNEL_INC = $(ALLINC) \
58
                     $(TESTINC) \
59
                     $(CHIBIOS)/os/hal/lib/streams
60

    
61
# C source files
62
AMIROOS_KERNEL_CSRC = $(ALLCSRC) \
63
                      $(CHIBIOS)/os/various/syscalls.c \
64
                      $(CHIBIOS)/os/various/evtimer.c \
65
                      $(TESTSRC)
66

    
67
# C++ source files
68
AMIROOS_KERNEL_CPPSRC = $(ALLCPPSRC) \
69
                        $(CHIBIOS)/os/various/cpp_wrappers/syscalls_cpp.cpp
70

    
71
# ASM source files
72
AMIROOS_KERNEL_ASMSRC = $(ALLASMSRC)
73

    
74
# ASM with preprocessor source files
75
AMIROOS_KERNEL_ASMXSRC = $(ALLXASMSRC)
76

    
77
### Information forwarded to ChibiOS ###
78
# Inclusion directories.
79
INCDIR = $(AMIROOS_INC)
80

    
81
# C sources that can be compiled in ARM or THUMB mode depending on the global
82
# setting.
83
CSRC = $(AMIROOS_CSRC)
84

    
85
# C++ sources that can be compiled in ARM or THUMB mode depending on the global
86
# setting.
87
CPPSRC = $(AMIROOS_CPPSRC)
88

    
89
# List ASM source files here.
90
ASMSRC = $(AMIROOS_ASMSRC)
91

    
92
# List ASM with preprocessor source files here.
93
ASMXSRC = $(AMIROOS_ASMXSRC)
94