1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/examples/lua_REPL/Makefile
Juan I Carrano ee6b6b9c38 boards/mips-malta: remove board.
The mips-malta board is a maintainance burden, has no working UART input
and is unobtainable and thus must be removed.

1. Unobtainable board
=====================

The mips-malta board is not an off-the-shelf part. A quick web
search only show the MIPS website where one is told to "contact sales".

I could find it on ebay, used, at €155 and from single seller.

Not having access to the board means:

a. We cannot maintain it. In fact it could be broken right now.
b. Potential RIOT uses have not access to the board either. In other
   words, it is pointless to run on hardware nobody has.

2. No working UART input
========================

Not all applications need UART input, but that is no excuse for not supporting
it:

a. Makes development & debugging way harder.
b. It is impossible to run interactive tests.
 b.1. Constrains the rest of the platforms by providing an incentive to not
      make tests interactive.
c. The lack of UART is a witness to the poor quality of the port.

I want to stress point (c). If something as basic as a serial port cannot work,
how can we expect more complex fucntionality to work. The answer is impossible
to know, because of point (1).

3. Maintainance burden
======================

The RIOT project has limited time and human resources which can be better spent.

a. Compiling for mips-malta wastes CPU time.
b. Blacklisting the board in the test wastes contributor's time.
c. Adapting the board's makefile during build system rework takes time and makes
   the reworks harder.
 c.1. Add to that that the changes are most of the time not even tested on the board
      because of (1). Look at the github issues/PRs and you will see it.
d. Developers usually stick to the lowest common denominator. Issue (2) sets this
   denominator unacceptably low.

MIPS platform in general
========================

In commits I will address general issues in the MIPS platform and why it should all
be removed.
2019-07-12 12:24:52 +02:00

82 lines
3.4 KiB
Makefile

APPLICATION = lua_repl
# If no BOARD is found in the environment, use this default:
BOARD ?= native
# This has to be the absolute path to the RIOT base directory:
RIOTBASE ?= $(CURDIR)/../..
BOARD_INSUFFICIENT_MEMORY := blackpill bluepill calliope-mini cc2650-launchpad \
cc2650stk hamilton i-nucleo-lrwan1 lsn50 \
maple-mini microbit nrf51dk nrf51dongle \
nucleo-f030r8 nucleo-f031k6 nucleo-f042k6 \
nucleo-f070rb nucleo-f072rb nucleo-f103rb \
nucleo-f302r8 nucleo-f303k8 nucleo-f334r8 \
nucleo-f410rb nucleo-l031k6 nucleo-l053r8 \
opencm904 spark-core stm32f0discovery \
airfy-beacon arduino-mkr1000 \
arduino-mkrfox1200 arduino-mkrzero arduino-zero \
b-l072z-lrwan1 cc2538dk ek-lm4f120xl feather-m0 \
ikea-tradfri limifrog-v1 lobaro-lorabox \
mbed_lpc1768 nrf6310 nucleo-f091rc nucleo-l073rz \
nz32-sc151 openmote-cc2538 openmote-b pba-d-01-kw2x \
remote-pa remote-reva remote-revb samd21-xpro \
saml10-xpro saml11-xpro saml21-xpro samr21-xpro \
samr30-xpro seeeduino_arch-pro sensebox_samd21 slstk3401a \
sltb001a slwstk6220a sodaq-autonomo sodaq-explorer \
sodaq-one sodaq-sara-aff stk3600 stm32f3discovery \
stm32l0538-disco yunjia-nrf51822 \
esp8266-esp-12x esp8266-olimex-mod \
esp8266-sparkfun-thing firefly
BOARD_BLACKLIST := arduino-duemilanove arduino-leonardo \
arduino-mega2560 arduino-nano arduino-uno \
chronos hifive1 jiminy-mega256rfr2 mega-xplained \
msb-430 msb-430h pic32-clicker pic32-wifire telosb \
waspmote-pro wsn430-v1_3b wsn430-v1_4 z1
# Comment this out to disable code in RIOT that does safety checking
# which is not needed in a production environment but helps in the
# development process:
DEVELHELP ?= 1
# Uncomment the following lines to enable debugging features.
#CFLAGS_OPT = -Og
#CFLAGS += -DDEBUG_ASSERT_VERBOSE -DLUA_DEBUG
# Change this to 0 show compiler invocation lines by default:
QUIET ?= 1
# This value is in excess because we are not sure of the exact requirements of
# lua (see the package's docs). It must be fixed in the future by taking
# appropriate measurements.
CFLAGS += -DTHREAD_STACKSIZE_MAIN='(THREAD_STACKSIZE_DEFAULT+7000)'
USEPKG += lua
LUA_PATH = $(BINDIR)/lua
# add directory of generated *.lua.h files to include path
CFLAGS += -I$(LUA_PATH)
# generate .lua.h header files of .lua files
LUA = $(wildcard *.lua)
LUA_H = $(LUA:%.lua=$(LUA_PATH)/%.lua.h)
BUILDDEPS += $(LUA_H) $(LUA_PATH)/
include $(RIOTBASE)/Makefile.include
# The code below generates a header file from any .lua scripts in the
# example directory. The header file contains a byte array of the
# ASCII characters in the .lua script.
$(LUA_PATH)/:
$(Q)mkdir -p $@
# FIXME: This way of embedding lua code is not robust. A proper script will
# be included later.
$(LUA_H): $(LUA_PATH)/%.lua.h: %.lua | $(LUA_PATH)/
$(Q)xxd -i $< | sed 's/^unsigned/const unsigned/g' > $@