@Echo off | |
REM apps/tools/mkkconfig.bat | |
REM | |
REM Licensed to the Apache Software Foundation (ASF) under one or more | |
REM contributor license agreements. See the NOTICE file distributed with | |
REM this work for additional information regarding copyright ownership. The | |
REM ASF licenses this file to you under the Apache License, Version 2.0 (the | |
REM "License"); you may not use this file except in compliance with the | |
REM License. You may obtain a copy of the License at | |
REM | |
REM http://www.apache.org/licenses/LICENSE-2.0 | |
REM | |
REM Unless required by applicable law or agreed to in writing, software | |
REM distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | |
REM WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | |
REM License for the specific language governing permissions and limitations | |
REM under the License. | |
REM | |
REM Parse command line arguments | |
SET menu="" | |
SET kconfig=Kconfig | |
:ArgLoop | |
IF "%1"=="" GOTO :EndOfLoop | |
IF "%1"=="-m" GOTO :SetMenu | |
IF "%1"=="-o" GOTO :SetKconfig | |
IF "%1"=="-h" GOTO :ShowUsage | |
Echo ERROR: Unrecognized option %1 | |
GOTO :ShowUsage | |
:SetDebug | |
SET debug=-d | |
GOTO :NextArg | |
:SetMenu | |
SHIFT | |
SET menu=%1 | |
GOTO :NextArg | |
:SetKconfig | |
SHIFT | |
SET kconfig=%1 | |
:NextArg | |
SHIFT | |
GOTO :ArgLoop | |
REM Check input Parameters | |
:EndOfLoop | |
IF EXIST %kconfig% ( | |
Del /f /q %kconfig% | |
REM IF %ERRORLEVEL% GTR 0 ( | |
REM Echo ERROR: failed to remove %kconfig% | |
REM GOTO :End | |
REM ) | |
) | |
REM Get the current directory | |
SET APPSDIR=%cd% | |
SET APPSDIR=%APPSDIR:\=/% | |
Echo # > %kconfig% | |
Echo # For a description of the syntax of this configuration file, >> %kconfig% | |
Echo # see the file kconfig-language.txt in the NuttX tools repository. >> %kconfig% | |
Echo # >> %kconfig% | |
Echo # This file is autogenerated, do not edit. >> %kconfig% | |
Echo # >> %kconfig% | |
Echo[ >> %kconfig% | |
IF %menu% NEQ "" ( | |
Echo menu %menu% >> %kconfig% | |
) | |
DIR /B /A:D >_tmp_.dat | |
FOR /F "tokens=*" %%s IN (_tmp_.dat) do ( | |
IF EXIST %%s\Kconfig ( | |
Echo source "%APPSDIR%/%%s/Kconfig" >> %kconfig% | |
) | |
) | |
DEL _tmp_.dat | |
IF %menu% NEQ "" ( | |
Echo endmenu # %menu% >> %kconfig% | |
) | |
GOTO :End | |
REM Exit showing usage | |
:ShowUsage | |
Echo USAGE: %0 [-d] [-m ^<menu^>] [-o ^<kconfig-file^>] | |
Echo %0 [-h] | |
Echo Where: | |
Echo ^<-d^>: | |
Echo Enables debug output | |
Echo -m ^<menu^>: | |
Echo Menu description | |
Echo -o ^<kconfig-file^>: | |
Echo Identifies the specific configuration for the selected ^<board-name^>. | |
Echo This must correspond to a sub-directory under the board directory at | |
Echo under nuttx/boards/^<arch^>/^<chip^>/^<board^>/. | |
Echo ^<-h^>: | |
Echo Prints this message and exits. | |
REM Exit | |
:End | |