update app_match_nuttx for nuttx10.3
This commit is contained in:
+193
-88
@@ -1,5 +1,5 @@
|
||||
############################################################################
|
||||
# tools/Makefile.unix
|
||||
# tools/Unix.mk
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
@@ -42,9 +42,12 @@ CONFIG_VERSION_BUILD ?= "0"
|
||||
VERSION_ARG = -v $(CONFIG_VERSION_STRING) -b $(CONFIG_VERSION_BUILD)
|
||||
else
|
||||
|
||||
# Generate .version every time from GIT history
|
||||
# Generate .version.tmp every time from GIT history
|
||||
# Only update .version if the contents of version.tmp actually changes
|
||||
# Note: this is executed before any rule is run
|
||||
|
||||
.PHONY: $(TOPDIR)/.version
|
||||
$(shell tools/version.sh .version.tmp > /dev/null)
|
||||
$(shell $(call TESTANDREPLACEFILE, .version.tmp, .version))
|
||||
endif
|
||||
|
||||
# Process architecture specific directories
|
||||
@@ -155,7 +158,7 @@ endif
|
||||
BIN = nuttx$(EXEEXT)
|
||||
|
||||
all: $(BIN)
|
||||
.PHONY: dirlinks context clean_context config oldconfig menuconfig nconfig qconfig gconfig export subdir_clean clean subdir_distclean distclean apps_clean apps_distclean
|
||||
.PHONY: context clean_context config oldconfig menuconfig nconfig qconfig gconfig export subdir_clean clean subdir_distclean distclean apps_clean apps_distclean
|
||||
.PHONY: pass1 pass1dep
|
||||
.PHONY: pass2 pass2dep
|
||||
|
||||
@@ -182,10 +185,8 @@ NEED_MATH_H = y
|
||||
endif
|
||||
|
||||
ifeq ($(NEED_MATH_H),y)
|
||||
include/math.h: include/nuttx/lib/math.h .clean_context
|
||||
include/math.h: include/nuttx/lib/math.h
|
||||
$(Q) cp -f include/nuttx/lib/math.h include/math.h
|
||||
else
|
||||
include/math.h:
|
||||
endif
|
||||
|
||||
# The float.h header file defines the properties of your floating point
|
||||
@@ -195,10 +196,8 @@ endif
|
||||
# the settings in this float.h are actually correct for your platform!
|
||||
|
||||
ifeq ($(CONFIG_ARCH_FLOAT_H),y)
|
||||
include/float.h: include/nuttx/lib/float.h .clean_context
|
||||
include/float.h: include/nuttx/lib/float.h
|
||||
$(Q) cp -f include/nuttx/lib/float.h include/float.h
|
||||
else
|
||||
include/float.h:
|
||||
endif
|
||||
|
||||
# Target used to copy include/nuttx/lib/stdarg.h. If CONFIG_ARCH_STDARG_H is
|
||||
@@ -207,10 +206,8 @@ endif
|
||||
# have to copy stdarg.h from include/nuttx/. to include/.
|
||||
|
||||
ifeq ($(CONFIG_ARCH_STDARG_H),y)
|
||||
include/stdarg.h: include/nuttx/lib/stdarg.h .clean_context
|
||||
include/stdarg.h: include/nuttx/lib/stdarg.h
|
||||
$(Q) cp -f include/nuttx/lib/stdarg.h include/stdarg.h
|
||||
else
|
||||
include/stdarg.h:
|
||||
endif
|
||||
|
||||
# Target used to copy include/nuttx/lib/setjmp.h. If CONFIG_ARCH_SETJMP_H is
|
||||
@@ -219,10 +216,8 @@ endif
|
||||
# have to copy setjmp.h from include/nuttx/. to include/.
|
||||
|
||||
ifeq ($(CONFIG_ARCH_SETJMP_H),y)
|
||||
include/setjmp.h: include/nuttx/lib/setjmp.h .clean_context
|
||||
include/setjmp.h: include/nuttx/lib/setjmp.h
|
||||
$(Q) cp -f include/nuttx/lib/setjmp.h include/setjmp.h
|
||||
else
|
||||
include/setjmp.h:
|
||||
endif
|
||||
|
||||
# Targets used to build include/nuttx/version.h. Creation of version.h is
|
||||
@@ -239,10 +234,9 @@ $(TOPDIR)/.version:
|
||||
$(Q) tools/version.sh $(VERSION_ARG) .version
|
||||
$(Q) chmod 755 .version
|
||||
|
||||
include/nuttx/version.h: $(TOPDIR)/.version tools/mkversion$(HOSTEXEEXT) .clean_context
|
||||
include/nuttx/version.h: $(TOPDIR)/.version tools/mkversion$(HOSTEXEEXT)
|
||||
$(Q) echo "Create version.h"
|
||||
$(Q) tools/mkversion $(TOPDIR) > $@.tmp
|
||||
$(Q) $(call TESTANDREPLACEFILE, $@.tmp, $@)
|
||||
$(Q) tools/mkversion $(TOPDIR) > $@
|
||||
|
||||
# Targets used to build include/nuttx/config.h. Creation of config.h is
|
||||
# part of the overall NuttX configuration sequence. Notice that the
|
||||
@@ -251,7 +245,7 @@ include/nuttx/version.h: $(TOPDIR)/.version tools/mkversion$(HOSTEXEEXT) .clean_
|
||||
tools/mkconfig$(HOSTEXEEXT):
|
||||
$(Q) $(MAKE) -C tools -f Makefile.host mkconfig$(HOSTEXEEXT)
|
||||
|
||||
include/nuttx/config.h: $(TOPDIR)/.config tools/mkconfig$(HOSTEXEEXT) .clean_context
|
||||
include/nuttx/config.h: $(TOPDIR)/.config tools/mkconfig$(HOSTEXEEXT)
|
||||
$(Q) tools/mkconfig $(TOPDIR) > $@.tmp
|
||||
$(Q) $(call TESTANDREPLACEFILE, $@.tmp, $@)
|
||||
|
||||
@@ -263,7 +257,7 @@ tools/mkdeps$(HOSTEXEEXT):
|
||||
tools/cnvwindeps$(HOSTEXEEXT):
|
||||
$(Q) $(MAKE) -C tools -f Makefile.host cnvwindeps$(HOSTEXEEXT)
|
||||
|
||||
# dirlinks, and helpers
|
||||
# .dirlinks, and helpers
|
||||
#
|
||||
# Directories links. Most of establishing the NuttX configuration involves
|
||||
# setting up symbolic links with 'generic' directory names to specific,
|
||||
@@ -271,72 +265,152 @@ tools/cnvwindeps$(HOSTEXEEXT):
|
||||
|
||||
# Link the arch/<arch-name>/include directory to include/arch
|
||||
|
||||
include/arch: .clean_context
|
||||
@echo "LN: include/arch to $(ARCH_DIR)/include"
|
||||
$(Q) $(DIRLINK) $(TOPDIR)/$(ARCH_DIR)/include include/arch
|
||||
$(Q) touch $@
|
||||
include/arch:
|
||||
@echo "LN: $@ to $(ARCH_DIR)/include"
|
||||
$(Q) $(DIRLINK) $(TOPDIR)/$(ARCH_DIR)/include $@
|
||||
|
||||
# Link the boards/<arch>/<chip>/<board>/include directory to include/arch/board
|
||||
|
||||
include/arch/board: include/arch
|
||||
@echo "LN: include/arch/board to $(BOARD_DIR)/include"
|
||||
$(Q) $(DIRLINK) $(BOARD_DIR)/include include/arch/board
|
||||
$(Q) touch $@
|
||||
include/arch/board: | include/arch
|
||||
@echo "LN: $@ to $(BOARD_DIR)/include"
|
||||
$(Q) $(DIRLINK) $(BOARD_DIR)/include $@
|
||||
|
||||
ifneq ($(BOARD_COMMON_DIR),)
|
||||
# Link the boards/<arch>/<chip>/common dir to arch/<arch-name>/src/board
|
||||
# Link the boards/<arch>/<chip>/<board>/src dir to arch/<arch-name>/src/board/board
|
||||
|
||||
$(ARCH_SRC)/board: .clean_context
|
||||
@echo "LN: $(ARCH_SRC)/board to $(BOARD_COMMON_DIR)"
|
||||
$(Q) $(DIRLINK) $(BOARD_COMMON_DIR) $(ARCH_SRC)/board
|
||||
@echo "LN: $(ARCH_SRC)/board/board to $(BOARD_DIR)/src"
|
||||
$(Q) $(DIRLINK) $(BOARD_DIR)/src $(ARCH_SRC)/board/board
|
||||
$(Q) touch $@
|
||||
ifneq ($(BOARD_COMMON_DIR),)
|
||||
ARCH_SRC_BOARD_SYMLINK=$(BOARD_COMMON_DIR)
|
||||
ARCH_SRC_BOARD_BOARD_SYMLINK=$(BOARD_DIR)/src
|
||||
else
|
||||
# Link the boards/<arch>/<chip>/<board>/src dir to arch/<arch-name>/src/board
|
||||
ARCH_SRC_BOARD_SYMLINK=$(BOARD_DIR)/src
|
||||
endif
|
||||
|
||||
$(ARCH_SRC)/board: .clean_context
|
||||
@echo "LN: $(ARCH_SRC)/board to $(BOARD_DIR)/src"
|
||||
$(Q) $(DIRLINK) $(BOARD_DIR)/src $(ARCH_SRC)/board
|
||||
$(Q) touch $@
|
||||
ifneq ($(ARCH_SRC_BOARD_SYMLINK),)
|
||||
$(ARCH_SRC)/board:
|
||||
@echo "LN: $@ to $(ARCH_SRC_BOARD_SYMLINK)"
|
||||
$(Q) $(DIRLINK) $(ARCH_SRC_BOARD_SYMLINK) $@
|
||||
endif
|
||||
|
||||
ifneq ($(ARCH_SRC_BOARD_BOARD_SYMLINK),)
|
||||
$(ARCH_SRC)/board/board: | $(ARCH_SRC)/board
|
||||
@echo "LN: $@ to $(ARCH_SRC_BOARD_BOARD_SYMLINK)"
|
||||
$(Q) $(DIRLINK) $(ARCH_SRC_BOARD_BOARD_SYMLINK) $@
|
||||
endif
|
||||
|
||||
# Link the boards/<arch>/<chip>/drivers dir to drivers/platform
|
||||
|
||||
drivers/platform: .clean_context
|
||||
@echo "LN: $(TOPDIR)/drivers/platform to $(BOARD_DRIVERS_DIR)"
|
||||
$(Q) $(DIRLINK) $(BOARD_DRIVERS_DIR) $(TOPDIR)/drivers/platform
|
||||
$(Q) touch $@
|
||||
drivers/platform:
|
||||
@echo "LN: $@ to $(BOARD_DRIVERS_DIR)"
|
||||
$(Q) $(DIRLINK) $(BOARD_DRIVERS_DIR) $@
|
||||
|
||||
# Link arch/<arch-name>/src/<chip-name> to arch/<arch-name>/src/chip
|
||||
|
||||
$(ARCH_SRC)/chip: .clean_context
|
||||
ifeq ($(CONFIG_ARCH_CHIP_CUSTOM),y)
|
||||
@echo "LN: $(ARCH_SRC)/chip to $(CHIP_DIR)"
|
||||
$(Q) $(DIRLINK) $(CHIP_DIR) $(ARCH_SRC)/chip
|
||||
ARCH_SRC_CHIP_SYMLINK_DIR=$(CHIP_DIR)
|
||||
else ifneq ($(CONFIG_ARCH_CHIP),)
|
||||
@echo "LN: $(ARCH_SRC)/chip to $(ARCH_SRC)/$(CONFIG_ARCH_CHIP)"
|
||||
$(Q) $(DIRLINK) $(TOPDIR)/$(ARCH_SRC)/$(CONFIG_ARCH_CHIP) $(ARCH_SRC)/chip
|
||||
ARCH_SRC_CHIP_SYMLINK_DIR=$(TOPDIR)/$(ARCH_SRC)/$(CONFIG_ARCH_CHIP)
|
||||
endif
|
||||
|
||||
ifneq ($(ARCH_SRC_CHIP_SYMLINK_DIR),)
|
||||
$(ARCH_SRC)/chip:
|
||||
@echo "LN: $@ to $(ARCH_SRC_CHIP_SYMLINK_DIR)"
|
||||
$(Q) $(DIRLINK) $(ARCH_SRC_CHIP_SYMLINK_DIR) $@
|
||||
endif
|
||||
$(Q) cp -f $(CHIP_KCONFIG) $(TOPDIR)/arch/dummy/Kconfig
|
||||
$(Q) touch $@
|
||||
|
||||
# Link arch/<arch-name>/include/<chip-name> to include/arch/chip
|
||||
|
||||
include/arch/chip: include/arch
|
||||
ifeq ($(CONFIG_ARCH_CHIP_CUSTOM),y)
|
||||
@echo "LN: include/arch/chip to $(CHIP_DIR)/include"
|
||||
$(Q) $(DIRLINK) $(CHIP_DIR)/include include/arch/chip
|
||||
INCLUDE_ARCH_CHIP_SYMLINK_DIR=$(CHIP_DIR)/include
|
||||
else ifneq ($(CONFIG_ARCH_CHIP),)
|
||||
@echo "LN: include/arch/chip to $(ARCH_INC)/$(CONFIG_ARCH_CHIP)"
|
||||
$(Q) $(DIRLINK) $(TOPDIR)/$(ARCH_INC)/$(CONFIG_ARCH_CHIP) include/arch/chip
|
||||
INCLUDE_ARCH_CHIP_SYMLINK_DIR=$(TOPDIR)/$(ARCH_INC)/$(CONFIG_ARCH_CHIP)
|
||||
endif
|
||||
|
||||
ifneq ($(INCLUDE_ARCH_CHIP_SYMLINK_DIR),)
|
||||
include/arch/chip: | include/arch
|
||||
@echo "LN: $@ to $(INCLUDE_ARCH_CHIP_SYMLINK_DIR)"
|
||||
$(DIRLINK) $(INCLUDE_ARCH_CHIP_SYMLINK_DIR) $@
|
||||
endif
|
||||
|
||||
# Copy $(CHIP_KCONFIG) to arch/dummy/Kconfig
|
||||
|
||||
arch/dummy/Kconfig:
|
||||
@echo "CP: $@ to $(CHIP_KCONFIG)"
|
||||
$(Q) cp -f $(CHIP_KCONFIG) $@
|
||||
|
||||
# Copy $(BOARD_KCONFIG) to boards/dummy/Kconfig
|
||||
|
||||
boards/dummy/Kconfig:
|
||||
@echo "CP: $@ to $(BOARD_KCONFIG)"
|
||||
$(Q) cp -f $(BOARD_KCONFIG) $@
|
||||
|
||||
DIRLINKS_SYMLINK = \
|
||||
include/arch \
|
||||
include/arch/board \
|
||||
drivers/platform \
|
||||
|
||||
DIRLINKS_FILE = \
|
||||
arch/dummy/Kconfig \
|
||||
boards/dummy/Kconfig \
|
||||
|
||||
ifneq ($(INCLUDE_ARCH_CHIP_SYMLINK_DIR),)
|
||||
DIRLINKS_SYMLINK += include/arch/chip
|
||||
endif
|
||||
|
||||
ifneq ($(ARCH_SRC_CHIP_SYMLINK_DIR),)
|
||||
DIRLINKS_SYMLINK += $(ARCH_SRC)/chip
|
||||
endif
|
||||
|
||||
ifneq ($(ARCH_SRC_BOARD_SYMLINK),)
|
||||
DIRLINKS_SYMLINK += $(ARCH_SRC)/board
|
||||
endif
|
||||
|
||||
ifneq ($(ARCH_SRC_BOARD_BOARD_SYMLINK),)
|
||||
DIRLINKS_SYMLINK += $(ARCH_SRC)/board/board
|
||||
endif
|
||||
|
||||
ifneq ($(APPDIR),)
|
||||
DIRLINKS_EXTERNAL_DIRS += $(APPDIR)
|
||||
endif
|
||||
|
||||
# Generate a pattern to build $(DIRLINKS_EXTERNAL_DIRS)
|
||||
|
||||
DIRLINKS_EXTERNAL_DEP = $(patsubst %,%/.dirlinks,$(DIRLINKS_EXTERNAL_DIRS))
|
||||
DIRLINKS_FILE += $(DIRLINKS_EXTERNAL_DEP)
|
||||
|
||||
.dirlinks: $(DIRLINKS_FILE) | $(DIRLINKS_SYMLINK)
|
||||
touch $@
|
||||
|
||||
# Pattern rule for $(DIRLINKS_EXTERNAL_DEP)
|
||||
|
||||
%/.dirlinks:
|
||||
$(Q) $(MAKE) -C $(patsubst %/.dirlinks,%,$@) dirlinks
|
||||
$(Q) touch $@
|
||||
|
||||
dirlinks: include/arch include/arch/board include/arch/chip $(ARCH_SRC)/board $(ARCH_SRC)/chip drivers/platform
|
||||
$(Q) $(MAKE) -C boards dirlinks
|
||||
$(Q) $(MAKE) -C $(CONFIG_APPS_DIR) dirlinks
|
||||
# clean_dirlinks
|
||||
#
|
||||
# This is part of the distclean target. It removes all symbolic links created by the dirlink target.
|
||||
|
||||
# The symlink subfolders need to be removed before the parent symlinks
|
||||
|
||||
.PHONY: clean_dirlinks
|
||||
clean_dirlinks:
|
||||
$(Q) $(call DELFILE, $(DIRLINKS_FILE))
|
||||
$(Q) $(call DELFILE, .dirlinks)
|
||||
$(Q) $(DIRUNLINK) drivers/platform
|
||||
ifneq ($(INCLUDE_ARCH_CHIP_SYMLINK_DIR),)
|
||||
$(Q) $(DIRUNLINK) include/arch/chip
|
||||
endif
|
||||
$(Q) $(DIRUNLINK) include/arch/board
|
||||
$(Q) $(DIRUNLINK) include/arch
|
||||
ifneq ($(ARCH_SRC_BOARD_BOARD_SYMLINK),)
|
||||
$(Q) $(DIRUNLINK) $(ARCH_SRC)/board/board
|
||||
endif
|
||||
ifneq ($(ARCH_SRC_BOARD_SYMLINK),)
|
||||
$(Q) $(DIRUNLINK) $(ARCH_SRC)/board
|
||||
endif
|
||||
ifneq ($(ARCH_SRC_CHIP_SYMLINK_DIR),)
|
||||
$(Q) $(DIRUNLINK) $(ARCH_SRC)/chip
|
||||
endif
|
||||
|
||||
# context
|
||||
#
|
||||
@@ -345,18 +419,43 @@ dirlinks: include/arch include/arch/board include/arch/chip $(ARCH_SRC)/board $(
|
||||
# the config.h and version.h header files in the include/nuttx directory and
|
||||
# the establishment of symbolic links to configured directories.
|
||||
|
||||
context: include/nuttx/config.h include/nuttx/version.h include/math.h include/float.h include/stdarg.h include/setjmp.h dirlinks
|
||||
$(Q) mkdir -p staging
|
||||
$(Q) for dir in $(CONTEXTDIRS) ; do \
|
||||
$(MAKE) -C $$dir context || exit; \
|
||||
done
|
||||
# Generate a pattern to make Directories.mk context
|
||||
|
||||
CONTEXTDIRS_DEPS = $(patsubst %,%/.context,$(CONTEXTDIRS))
|
||||
|
||||
context: include/nuttx/config.h include/nuttx/version.h .dirlinks $(CONTEXTDIRS_DEPS) | staging
|
||||
|
||||
staging:
|
||||
$(Q) mkdir -p $@
|
||||
|
||||
# Pattern rule for $(CONTEXTDIRS_DEPS)
|
||||
|
||||
%.context: include/nuttx/config.h .dirlinks
|
||||
$(Q) $(MAKE) -C $(patsubst %.context,%,$@) TOPDIR="$(TOPDIR)" context
|
||||
$(Q) touch $@
|
||||
|
||||
ifeq ($(NEED_MATH_H),y)
|
||||
context: include/math.h
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARCH_FLOAT_H),y)
|
||||
context: include/float.h
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARCH_STDARG_H),y)
|
||||
context: include/stdarg.h
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ARCH_SETJMP_H),y)
|
||||
context: include/setjmp.h
|
||||
endif
|
||||
|
||||
# clean_context
|
||||
#
|
||||
# This is part of the distclean target. It removes all of the header files
|
||||
# and symbolic links created by the context target.
|
||||
|
||||
clean_context:
|
||||
clean_context: clean_dirlinks
|
||||
$(Q) for dir in $(CCLEANDIRS) ; do \
|
||||
if [ -e $$dir/Makefile ]; then \
|
||||
$(MAKE) -C $$dir clean_context ; \
|
||||
@@ -369,17 +468,7 @@ clean_context:
|
||||
$(call DELFILE, include/stdarg.h)
|
||||
$(call DELFILE, include/setjmp.h)
|
||||
$(call DELFILE, arch/dummy/Kconfig)
|
||||
$(Q) $(DIRUNLINK) include/arch/board
|
||||
$(Q) $(DIRUNLINK) include/arch/chip
|
||||
$(Q) $(DIRUNLINK) include/arch
|
||||
$(Q) $(DIRUNLINK) $(ARCH_SRC)/board/board
|
||||
$(Q) $(DIRUNLINK) $(ARCH_SRC)/board
|
||||
$(Q) $(DIRUNLINK) $(ARCH_SRC)/chip
|
||||
$(Q) $(DIRUNLINK) $(TOPDIR)/drivers/platform
|
||||
|
||||
.clean_context: .config
|
||||
+$(Q) $(MAKE) clean_context
|
||||
$(Q) touch $@
|
||||
$(call DELFILE, $(CONTEXTDIRS_DEPS))
|
||||
|
||||
# Archive targets. The target build sequence will first create a series of
|
||||
# libraries, one per configured source file directory. The final NuttX
|
||||
@@ -458,15 +547,18 @@ ifeq ($(CONFIG_UBOOT_UIMAGE),y)
|
||||
endif
|
||||
$(call POSTBUILD, $(TOPDIR))
|
||||
|
||||
# download
|
||||
# flash (or download : DEPRECATED)
|
||||
#
|
||||
# This is a helper target that will rebuild NuttX and download it to the target
|
||||
# This is a helper target that will rebuild NuttX and flash it to the target
|
||||
# system in one step. The operation of this target depends completely upon
|
||||
# implementation of the DOWNLOAD command in the user Make.defs file. It will
|
||||
# generate an error if the DOWNLOAD command is not defined.
|
||||
# implementation of the FLASH command in the user Make.defs file. It will
|
||||
# generate an error if the FLASH command is not defined.
|
||||
|
||||
flash: $(BIN)
|
||||
$(call FLASH, $<)
|
||||
|
||||
download: $(BIN)
|
||||
$(call DOWNLOAD, $<)
|
||||
$(call FLASH, $<)
|
||||
|
||||
# bootloader
|
||||
#
|
||||
@@ -508,25 +600,39 @@ pass2dep: context tools/mkdeps$(HOSTEXEEXT) tools/cnvwindeps$(HOSTEXEEXT)
|
||||
# location: https://bitbucket.org/nuttx/tools/downloads/. See README.txt
|
||||
# file in the NuttX tools GIT repository for additional information.
|
||||
|
||||
config: apps_preconfig
|
||||
config:
|
||||
$(Q) $(MAKE) clean_context
|
||||
$(Q) $(MAKE) apps_preconfig
|
||||
$(Q) APPSDIR=${CONFIG_APPS_DIR} EXTERNALDIR=$(EXTERNALDIR) kconfig-conf Kconfig
|
||||
|
||||
oldconfig: apps_preconfig
|
||||
oldconfig:
|
||||
$(Q) $(MAKE) clean_context
|
||||
$(Q) $(MAKE) apps_preconfig
|
||||
$(Q) APPSDIR=${CONFIG_APPS_DIR} EXTERNALDIR=$(EXTERNALDIR) kconfig-conf --oldconfig Kconfig
|
||||
|
||||
olddefconfig: apps_preconfig
|
||||
olddefconfig:
|
||||
$(Q) $(MAKE) clean_context
|
||||
$(Q) $(MAKE) apps_preconfig
|
||||
$(Q) APPSDIR=${CONFIG_APPS_DIR} EXTERNALDIR=$(EXTERNALDIR) kconfig-conf --olddefconfig Kconfig
|
||||
|
||||
menuconfig: apps_preconfig
|
||||
menuconfig:
|
||||
$(Q) $(MAKE) clean_context
|
||||
$(Q) $(MAKE) apps_preconfig
|
||||
$(Q) APPSDIR=${CONFIG_APPS_DIR} EXTERNALDIR=$(EXTERNALDIR) kconfig-mconf Kconfig
|
||||
|
||||
nconfig: apps_preconfig
|
||||
$(Q) $(MAKE) clean_context
|
||||
$(Q) $(MAKE) apps_preconfig
|
||||
$(Q) APPSDIR=${CONFIG_APPS_DIR} EXTERNALDIR=$(EXTERNALDIR) kconfig-nconf Kconfig
|
||||
|
||||
qconfig: apps_preconfig
|
||||
$(Q) $(MAKE) clean_context
|
||||
$(Q) $(MAKE) apps_preconfig
|
||||
$(Q) APPSDIR=${CONFIG_APPS_DIR} EXTERNALDIR=$(EXTERNALDIR) kconfig-qconf Kconfig
|
||||
|
||||
gconfig: apps_preconfig
|
||||
$(Q) $(MAKE) clean_context
|
||||
$(Q) $(MAKE) apps_preconfig
|
||||
$(Q) APPSDIR=${CONFIG_APPS_DIR} EXTERNALDIR=$(EXTERNALDIR) kconfig-gconf Kconfig
|
||||
|
||||
savedefconfig: apps_preconfig
|
||||
@@ -610,7 +716,6 @@ endif
|
||||
$(call DELFILE, .config)
|
||||
$(call DELFILE, .config.old)
|
||||
$(call DELFILE, .gdbinit)
|
||||
$(call DELFILE, .clean_context)
|
||||
$(Q) $(MAKE) -C tools -f Makefile.host clean
|
||||
|
||||
# Application housekeeping targets. The APPDIR variable refers to the user
|
||||
@@ -627,7 +732,7 @@ endif
|
||||
# apps_distclean: Perform the distclean operation only in the user application
|
||||
# directory.
|
||||
|
||||
apps_preconfig: dirlinks
|
||||
apps_preconfig: .dirlinks
|
||||
ifneq ($(APPDIR),)
|
||||
$(Q) $(MAKE) -C $(APPDIR) preconfig
|
||||
endif
|
||||
@@ -22,9 +22,9 @@
|
||||
* @file cfgdefine.c
|
||||
* @brief nuttx source code
|
||||
* https://github.com/apache/incubator-nuttx-apps
|
||||
* @version 10.2.0
|
||||
* @version 10.3.0
|
||||
* @author AIIT XUOS Lab
|
||||
* @date 2022-03-17
|
||||
* @date 2022-06-17
|
||||
*/
|
||||
|
||||
/****************************************************************************
|
||||
@@ -63,12 +63,14 @@ static const char *dequote_list[] =
|
||||
"CONFIG_INIT_ARGS", /* Argument list of entry point */
|
||||
"CONFIG_INIT_SYMTAB", /* Global symbol table */
|
||||
"CONFIG_INIT_NEXPORTS", /* Global symbol table size */
|
||||
"CONFIG_INIT_ENTRYPOINT", /* Name of entry point function */
|
||||
"CONFIG_MODLIB_SYMTAB_ARRAY", /* Symbol table array used by modlib functions */
|
||||
"CONFIG_MODLIB_NSYMBOLS_VAR", /* Variable holding number of symbols in the table */
|
||||
"CONFIG_PASS1_BUILDIR", /* Pass1 build directory */
|
||||
"CONFIG_PASS1_TARGET", /* Pass1 build target */
|
||||
"CONFIG_PASS1_OBJECT", /* Pass1 build object */
|
||||
"CONFIG_USER_ENTRYPOINT", /* Name of entry point function */
|
||||
"CONFIG_TTY_LAUNCH_ENTRYPOINT", /* Name of entry point from tty launch */
|
||||
"CONFIG_TTY_LAUNCH_ARGS", /* Argument list of entry point from tty launch */
|
||||
|
||||
/* NxWidgets/NxWM */
|
||||
|
||||
@@ -95,7 +97,7 @@ static const char *dequote_list[] =
|
||||
|
||||
static char *skip_space(char *ptr)
|
||||
{
|
||||
while (*ptr && isspace((int)*ptr)) ptr++;
|
||||
while (*ptr && isspace(*ptr)) ptr++;
|
||||
return ptr;
|
||||
}
|
||||
|
||||
@@ -103,7 +105,7 @@ static char *skip_space(char *ptr)
|
||||
|
||||
static char *find_name_end(char *ptr)
|
||||
{
|
||||
while (*ptr && (isalnum((int)*ptr) || *ptr == '_')) ptr++;
|
||||
while (*ptr && (isalnum(*ptr) || *ptr == '_')) ptr++;
|
||||
return ptr;
|
||||
}
|
||||
|
||||
@@ -111,16 +113,16 @@ static char *find_name_end(char *ptr)
|
||||
|
||||
static char *find_value_end(char *ptr)
|
||||
{
|
||||
while (*ptr && !isspace((int)*ptr))
|
||||
while (*ptr && !isspace(*ptr))
|
||||
{
|
||||
if (*ptr == '"')
|
||||
{
|
||||
do ptr++; while (*ptr && *ptr != '"');
|
||||
do ptr++; while (*ptr && (*ptr != '"' || *(ptr - 1) == '\\'));
|
||||
if (*ptr) ptr++;
|
||||
}
|
||||
else
|
||||
{
|
||||
do ptr++; while (*ptr && !isspace((int)*ptr) && *ptr != '"');
|
||||
do ptr++; while (*ptr && !isspace(*ptr) && *ptr != '"');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -157,13 +159,7 @@ static char *read_line(FILE *stream)
|
||||
|
||||
static void parse_line(char *ptr, char **varname, char **varval)
|
||||
{
|
||||
/* Skip over any leading spaces */
|
||||
|
||||
ptr = skip_space(ptr);
|
||||
|
||||
/* The first no-space is the beginning of the variable name */
|
||||
|
||||
*varname = skip_space(ptr);
|
||||
*varname = ptr;
|
||||
*varval = NULL;
|
||||
|
||||
/* Parse to the end of the variable name */
|
||||
@@ -359,7 +355,7 @@ void generate_definitions(FILE *stream)
|
||||
else
|
||||
{
|
||||
printf("#define %s %s\n", varname, varval);
|
||||
printf("#define %s %s\n", &varname[7], varval);
|
||||
printf("#define %s %s\n", &varname[7], varval);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user