Revision 08abcefd

View differences:

configurations/HelloWorld/modules/NUCLEO-F401RE/Makefile
1
################################################################################
2
# AMiRo-Apps is a collection of applications for the Autonomous Mini Robot     #
3
# (AMiRo) platform.                                                            #
4
# Copyright (C) 2018..2020  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
################################################################################
27
# Build global options                                                         #
28
# NOTE: Can be overridden externally.                                          #
29
#                                                                              #
30

  
31
# Compiler options here.
32
ifeq ($(USE_OPT),)
33
  USE_OPT = -O2 -fomit-frame-pointer -falign-functions=16 -fstack-usage
34
  export USE_OPT
35
endif
36

  
37
# C specific options here (added to USE_OPT).
38
ifeq ($(USE_COPT),)
39
  USE_COPT = -std=c11
40
  export USE_COPT
41
endif
42

  
43
# C++ specific options here (added to USE_OPT).
44
ifeq ($(USE_CPPOPT),)
45
  USE_CPPOPT = -fno-rtti -std=c++17
46
  export USE_CPPOPT
47
endif
48

  
49
# Enable this if you want the linker to remove unused code and data
50
ifeq ($(USE_LINK_GC),)
51
  USE_LINK_GC = yes
52
 export USE_LINK_GC
53
endif
54

  
55
# Linker extra options here.
56
ifeq ($(USE_LDOPT),)
57
  USE_LDOPT =
58
  export USE_LDOPT
59
endif
60

  
61
# Enable this if you want link time optimizations (LTO)
62
ifeq ($(USE_LTO),)
63
  USE_LTO = yes
64
  export USE_LTO
65
endif
66

  
67
# If enabled, this option allows to compile the application in THUMB mode.
68
ifeq ($(USE_THUMB),)
69
  USE_THUMB = yes
70
  export USE_THUMB
71
endif
72

  
73
# Enable this if you want to see the full log while compiling.
74
ifeq ($(USE_VERBOSE_COMPILE),)
75
  USE_VERBOSE_COMPILE = no
76
  export USE_VERBOSE_COMPILE
77
endif
78

  
79
#                                                                              #
80
# Build global options                                                         #
81
################################################################################
82

  
83
################################################################################
84
# Sources and paths                                                            #
85
#                                                                              #
86

  
87
# environment setup
88
include ../modules.mk
89

  
90
# include apps
91
include $(APPS_DIR)/HelloWorld/HelloWorld.mk
92

  
93
# middleware setup
94
include $(MIDDLEWARE_DIR)/middleware.mk
95

  
96
# C sources
97
APPS_CSRC += $(HelloWorldAPP_CSRC) \
98
             $(MIDDLEWARE_CSRC)
99

  
100
# C++ sources
101
APPS_CPPSRC += $(HelloWorldAPP_CPPSRC) \
102
               $(MIDDLEWARE_CPPSRC)
103

  
104
# include directories for configurations
105
APPS_INC += $(realpath .) \
106
            $(HelloWorldAPP_INC) \
107
            $(MIDDLEWARE_INC)
108

  
109
#                                                                              #
110
# Sources and paths                                                            #
111
################################################################################
112

  
113
################################################################################
114
# Start of user section                                                        #
115
#                                                                              #
116

  
117
# List all user defines here
118
UDEFS +=
119
export UDEFS
120

  
121
# List all ASM defines here
122
UADEFS +=
123
export UADEFS
124

  
125
# List all user directories here
126
UINCDIR +=
127
export UINCDIR
128

  
129
# List all directories to look for user libraries here
130
ULIBDIR +=
131
export ULIBDIR
132

  
133
# List all user libraries here
134
ULIBS +=
135
export ULIBS
136

  
137
#                                                                              #
138
# End of user defines                                                          #
139
################################################################################
140

  
141
################################################################################
142
# Start of targets section                                                     #
143
# 
144

  
145
# set the build directory
146
ifeq ($(BUILDDIR),)
147
  BUILDDIR = $(realpath .)/build
148
endif
149
export BUILDDIR
150

  
151
# call Makefile from OS
152
all:
153
	$(MAKE) -C $(OS_DIR)/AMiRo-OS/modules/NUCLEO-F401RE/
154

  
155
clean:
156
	$(MAKE) -C $(OS_DIR)/AMiRo-OS/modules/NUCLEO-F401RE/ clean
157

  
158
flash:
159
	$(MAKE) -C $(OS_DIR)/AMiRo-OS/modules/NUCLEO-F401RE/ flash
160

  
161
#                                                                              #
162
# End of targets section                                                       #
163
################################################################################
configurations/HelloWorld/modules/NUCLEO-F401RE/mainincludes.hpp
1
/*
2
AMiRo-Apps is a collection of applications for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2018..2020  Thomas Schöpping et al.
4

  
5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9

  
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

  
15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18

  
19
#ifndef MAININCLUDES_HPP
20
#define MAININCLUDES_HPP
21

  
22
#include <urtware.h>
23

  
24
#endif /* MAININCLUDES_HPP */
configurations/HelloWorld/modules/NUCLEO-F401RE/osconf.h
1
/*
2
AMiRo-Apps is a collection of applications for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2018..2020  Thomas Schöpping et al.
4

  
5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9

  
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

  
15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18

  
19
#ifndef OSCONF_H
20
#define OSCONF_H
21

  
22
#include <HelloWorld_osconf.h>
23

  
24
#define OS_CFG_TESTS_ENABLE                     false
25

  
26
#define OS_CFG_SSSP_ENABLE                      false
27

  
28
#endif /* OSCONF_H */
configurations/HelloWorld/modules/NUCLEO-F401RE/urtwareconf.h
1
/*
2
AMiRo-Apps is a collection of applications for the Autonomous Mini Robot (AMiRo) platform.
3
Copyright (C) 2018..2020  Thomas Schöpping et al.
4

  
5
This program is free software: you can redistribute it and/or modify
6
it under the terms of the GNU General Public License as published by
7
the Free Software Foundation, either version 3 of the License, or
8
(at your option) any later version.
9

  
10
This program is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
GNU General Public License for more details.
14

  
15
You should have received a copy of the GNU General Public License
16
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
*/
18

  
19
#ifndef URTWARECONF_H
20
#define URTWARECONF_H
21

  
22
#include <HelloWorld_urtwareconf.h>
23

  
24
#endif /* URTWARECONF_H */

Also available in: Unified diff