-
Notifications
You must be signed in to change notification settings - Fork 3.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tidying up the make hierarchy #2839
Comments
Genuine question, is it worth spending time on this, or would we be better off doing it as part of moving to something that can be used together with the IDF? The answer might be "yes", in that we get cleaner code before we're co-existing with the (much stricter) IDF build. Or it might be no, in that it ends up being double-work. I'm still interested in seeing if I (or someone else) can fit the non-OS SDK into an IDF framework, since that would mean the least amount of on-going maintenance between the 8266/32 as the config methods would be shared, as would directory structure and make framework. |
As someone who generally thinks |
Espressif has historically only supported |
I'll post the PR later. You will see that it's nearly all tidying up crap introduced by contributors that didn't understand how the callback make system worked. I've removed the hardwired |
@TerryE I'm glad Wall Wextra are getting a look-in. Is it worth moving from gnu11 to C11? Particularly in embedded stuff I tend to use:
but that may be overkill. Wconversion certainly produces a lot of errors, but every so often it turns up something that will bite you. C W Rose |
There are still some botches remaining:
|
It is really a chore doing this, so it needs tackling directory by directory. If the errors were all just a case of being binary-neutral source code fixes, e.g. an |
@jmattsson, this is worth thinking about, but let's do it downstream. Sorting out mess now is good. The tidier the current make hierarchy perhaps the easier to move to the IDF. But let's not even spend too much time one this just yet. |
Having slept on it, I'm all for you doing this clean-up now. :) |
This is a component of #2816 and relates to #2811
The current make hierarchy is a sloppy mess which I want to clean up but staying within the current make framework. If we look at a typical compile line generated in the make
-Wimplicit
-Wpointer-arith
-Wundef
-Werror
-O2
-ffunction-sections
-fno-jump-tables
-fdata-sections
-fno-inline-functions
-mlongcalls
-mtext-section-literals
-std=gnu11
-Wl,-EL
-nostdlib
`__ets__` `EBUF_LWIP` `ICACHE_FLASH` `LWIP_OPEN_SRC` `MBEDTLS_USER_CONFIG_FILE="user_mbedtls.h"`
MEM_DEFAULT_USE_DRAM
PBUF_RSV_FOR_WLAN
USE_OPTIMIZE_PRINTF
``<root>/
<root>/include
../smart
../../include/eagle
./
include
../include``../../include
../libc
../lua
../platform
../spiffs
../fatfs
../coap
../dht
../http
../mqtt
../pcm
../pm
../sjson
../sqlite3
../u8g2lib/u8g2/src/clib
../ucglib/ucg/src/clib
../websocket
This all need cleaning up:
-Wall
-Wextra
over time.ROOTDIR
APPDIR
LUADIR
INCDIR
app/http
(for example) in the search list; the one reference inapp/http/httpclient.c
should simply refer to#include "http/httpclient.h"
instead.This is all pretty mechanistic tidying. I just don't want any hard wired reference to
app
orapp/lua
in any Makefiles.The text was updated successfully, but these errors were encountered: