In the current compilation environment, the recursive assignment(=) for compile
flags will be delayed until every file is actually need to be compile.
For example:
--------------------------------------------------------------------------------
arch/arm/src/Makefile:
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)chip}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)common}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(ARCH_SRCDIR)$(DELIM)$(ARCH_SUBDIR)}
INCLUDES += ${shell $(INCDIR) "$(CC)" $(TOPDIR)$(DELIM)sched}
CPPFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CFLAGS += $(INCLUDES) $(EXTRAFLAGS)
CXXFLAGS += $(INCLUDES) $(EXTRAFLAGS)
AFLAGS += $(INCLUDES) $(EXTRAFLAGS)
--------------------------------------------------------------------------------
All compilation options will be included recursively,
which will be delayed until the compilation options are actually used:
tools/Config.mk:
--------------------------------------------------------------------------------
define COMPILE
@echo "CC: $1"
$(Q) $(CC) -c $(CFLAGS) $($(strip $1)_CFLAGS) $1 -o $2
endef
--------------------------------------------------------------------------------
All compile flags to be reexecuted $(INCDIR) as long as one file needs to be compiled,
but in fact, the compilation options have not changed in the current directory.
So the we recommand to change the syntax of assignment
From
Recursive (=)
To
Simple (:=)
In this way, we can ensure that all compilation options are expanded only once and reducing repeated works.
Signed-off-by: chao.an <anchao@xiaomi.com>
Usage:
nsh> ifconfig
eth0 Link encap:Ethernet HWaddr 52:13:FF:FF:FF:FF at UP
inet addr:10.0.0.2 DRaddr:10.0.0.1 Mask:255.255.255.0
nsh> renew eth0 && ifconfig
eth0 Link encap:Ethernet HWaddr 52:13:FF:FF:FF:FF at UP
inet addr:192.168.1.42 DRaddr:192.168.1.254 Mask:255.255.255.0
CONFIG_NETDB_DNSCLIENT is needed for
apps/netutils/netinit/netinit.c:659: \
undefined reference to `netlib_set_ipv4dnsaddr'
Change-Id: I54b8495637baf0f3f28abf67d4d4ce861ef49ced
Bug: https://github.com/apache/incubator-nuttx/issues/1988
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval <rzr@users.sf.net>
It was tested using:
nsh> ifconfig
eth0 Link encap:Ethernet HWaddr 52:13:FF:FF:FF:FF at DOWN
inet addr:10.0.0.2 DRaddr:10.0.0.1 Mask:255.255.255.0
All flags are needed to prevent build failures like:
chip/kinetis_enet.c:181:4:\
error: #error "Unrecognized or missing PHY selection"
netlib_setifstatus.c: In function 'netlib_ifup':
netlib_setifstatus.c:83:27: \
error: 'NETLIB_SOCK_TYPE' undeclared (first use in this function);
Change-Id: I9496528ae09f6244d73ab77dbcd307ced95f46fd
Bug: https://github.com/apache/incubator-nuttx/pull/1988
Forwarded: https://github.com/apache/incubator-nuttx/pull/2066
Signed-off-by: Philippe Coval <rzr@users.sf.net>
This will suppress a warning.
For some reason if declared weak,
it's not properly resolved at runtime,
this will need more investigations, any clues ?
Change-Id: I3cc3b7d145c7b32db20f5f2cbf4314ac20dba588
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval <rzr@users.sf.net>
Also enable ifup, use USB console and create raw image.
Windows is not mandatory, I use linux as host
so defconfig can rely on defaults.
Change-Id: Ic0e5f79f28facb6eff1d9831bcb31e1ff329a5aa
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Signed-off-by: Philippe Coval <rzr@users.sf.net>
Then it can easly deployed using USB masstorage
(same as on embed)
Forwarded: https://github.com/apache/incubator-nuttx/pulls/rzr
Change-Id: I62381d3f571fbc6e4716fa01d6974954f9193075
Signed-off-by: Philippe Coval <rzr@users.sf.net>
1.Reduce the default size of task_group_s(~512B each task)
2.Scale better between simple and complex application
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ia872137504fddcf64d89c48d6f0593d76d582710
to save the preserved space(1KB) and also avoid the heap overhead
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I694073f68e1bd63960cedeea1ddec441437be025
Change the preallocated message and descriptor from 32/24 to 4.
The total size is reduce from 1892 to 532
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I79d199465daef678986868f773876289859f42fc
since the maximum number of argument pass to wd_start in the whole
code base is 2 and change CONFIG_MAX_WDOGPARMS in some defconfig
from 1 to 2 oherwise pthread_condclockwait will fail
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ib6cb28b8c0722058849e7be916e164513431d21c
Kinetis: Reworked USB driver for setup out data phase.
Freedom K28: New config nshsdusb, with RNDIS support
PL2303: Try to avoid clone detection.
General: various nxstyle fixes
General: license changed
1.It make sense to let Toolchain.defs give the default value
2.The board can still change if the default isn't suitable
3.Avoid the same definition spread more than 200 Make.defs
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ic2649f1c7689bcf59c105ca8db61cad45b6e0e64
Make.defs under board folder can still overwrite the default as needed
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I1c300a8ace4b54d475ef8d398661ed65ca273a2e
so all boards support uClibc++/libc++ automatically
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Ibe6fafbec57f7acb26ea6188a3e9923ea82295c5
so the lower half driver don't need include the specific board.h
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: Icf6638a6865bac42150b5957376e55909f041d40
so the lower half driver don't need include the specific board.h
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Change-Id: I2ff5c30049a5c5e8ee90baea56e9f4cb1a8a4f87