mirror of
https://github.com/apache/nuttx.git
synced 2026-05-27 11:26:12 +08:00
Makefile: Build the tools/incdir binary immediately.
Before any other Make logic can be used, we must immediately build the tools/incdir binary. It will be used as soon as Make.defs is included and will generate errors otherwise. Remove the other locations in the tools/incdir binary was being build from tools/Makefile.unix and tools/Makefile.win
This commit is contained in:
committed by
Abdelatif Guettouche
parent
e018309e47
commit
18e4ab99cb
@@ -1,45 +1,24 @@
|
|||||||
############################################################################
|
############################################################################
|
||||||
# Makefile
|
# Makefile
|
||||||
#
|
#
|
||||||
# Copyright (C) 2012, 2018 Gregory Nutt. All rights reserved.
|
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
# Author: Gregory Nutt <gnutt@nuttx.org>
|
# contributor license agreements. See the NOTICE file distributed with
|
||||||
|
# this work for additional information regarding copyright ownership. The
|
||||||
|
# ASF licenses this file to you under the Apache License, Version 2.0 (the
|
||||||
|
# "License"); you may not use this file except in compliance with the
|
||||||
|
# License. You may obtain a copy of the License at
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
# modification, are permitted provided that the following conditions
|
|
||||||
# are met:
|
|
||||||
#
|
#
|
||||||
# 1. Redistributions of source code must retain the above copyright
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
# notice, this list of conditions and the following disclaimer.
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
# 2. Redistributions in binary form must reproduce the above copyright
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
# notice, this list of conditions and the following disclaimer in
|
# License for the specific language governing permissions and limitations
|
||||||
# the documentation and/or other materials provided with the
|
# under the License.
|
||||||
# distribution.
|
|
||||||
# 3. Neither the name NuttX nor the names of its contributors may be
|
|
||||||
# used to endorse or promote products derived from this software
|
|
||||||
# without specific prior written permission.
|
|
||||||
#
|
|
||||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
|
||||||
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
|
||||||
# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
|
||||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
|
||||||
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
|
||||||
# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
|
|
||||||
# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
||||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
|
||||||
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
# POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
#
|
#
|
||||||
############################################################################
|
############################################################################
|
||||||
|
|
||||||
# This is a top-level "kludge" Makefile that just includes the correct
|
# Check if the system has been configured
|
||||||
# Makefile. If you already know the Makefile that you want, you can skip
|
|
||||||
# this nonsense using:
|
|
||||||
#
|
|
||||||
# make -f tools/Makefile.unix, OR
|
|
||||||
# make -f tools/Makefile.win
|
|
||||||
#
|
|
||||||
|
|
||||||
ifeq ($(wildcard .config),)
|
ifeq ($(wildcard .config),)
|
||||||
.DEFAULT default:
|
.DEFAULT default:
|
||||||
@@ -47,6 +26,16 @@ ifeq ($(wildcard .config),)
|
|||||||
@echo " tools/configure.sh <target>"
|
@echo " tools/configure.sh <target>"
|
||||||
else
|
else
|
||||||
include .config
|
include .config
|
||||||
|
|
||||||
|
# Build any necessary tools needed early in the build.
|
||||||
|
# incdir - Is needed immediately by all Make.defs file.
|
||||||
|
|
||||||
|
TOPDIR := ${shell echo $(CURDIR) | sed -e 's/ /\\ /g'}
|
||||||
|
DUMMY := ${shell $(MAKE) -C tools -f Makefile.host incdir \
|
||||||
|
INCDIR="$(TOPDIR)/tools/incdir.sh"}
|
||||||
|
|
||||||
|
# Include the correct Makefile for the selected architecture.
|
||||||
|
|
||||||
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
ifeq ($(CONFIG_WINDOWS_NATIVE),y)
|
||||||
include tools/Makefile.win
|
include tools/Makefile.win
|
||||||
else
|
else
|
||||||
|
|||||||
+2
-7
@@ -355,11 +355,6 @@ clean_context:
|
|||||||
|
|
||||||
include tools/LibTargets.mk
|
include tools/LibTargets.mk
|
||||||
|
|
||||||
# Build the incdir tools need for all builds
|
|
||||||
|
|
||||||
tools/incdir$(HOSTEXEEXT):
|
|
||||||
$(Q) $(MAKE) -C tools -f Makefile.host TOPDIR="$(TOPDIR)" incdir$(HOSTEXEEXT)
|
|
||||||
|
|
||||||
# pass1 and pass2
|
# pass1 and pass2
|
||||||
#
|
#
|
||||||
# If the 2 pass build option is selected, then this pass1 target is
|
# If the 2 pass build option is selected, then this pass1 target is
|
||||||
@@ -370,9 +365,9 @@ tools/incdir$(HOSTEXEEXT):
|
|||||||
# is an archive. Exactly what is performed during pass1 or what it generates
|
# is an archive. Exactly what is performed during pass1 or what it generates
|
||||||
# is unknown to this makefile unless CONFIG_PASS1_OBJECT is defined.
|
# is unknown to this makefile unless CONFIG_PASS1_OBJECT is defined.
|
||||||
|
|
||||||
pass1: tools/incdir$(HOSTEXEEXT) $(USERLIBS)
|
pass1: $(USERLIBS)
|
||||||
|
|
||||||
pass2: tools/incdir$(HOSTEXEEXT) $(NUTTXLIBS)
|
pass2: $(NUTTXLIBS)
|
||||||
|
|
||||||
# $(BIN)
|
# $(BIN)
|
||||||
#
|
#
|
||||||
|
|||||||
+2
-9
@@ -330,13 +330,6 @@ clean_context:
|
|||||||
# execution will then be built from those libraries. The following targets
|
# execution will then be built from those libraries. The following targets
|
||||||
# build those libraries.
|
# build those libraries.
|
||||||
|
|
||||||
include tools/LibTargets.mk
|
|
||||||
|
|
||||||
# Build the incdir tools need for all builds
|
|
||||||
|
|
||||||
tools\incdir$(HOSTEXEEXT):
|
|
||||||
$(Q) $(MAKE) -C tools -f Makefile.host TOPDIR="$(TOPDIR)" incdir$(HOSTEXEEXT)
|
|
||||||
|
|
||||||
# pass1 and pass2
|
# pass1 and pass2
|
||||||
#
|
#
|
||||||
# If the 2 pass build option is selected, then this pass1 target is
|
# If the 2 pass build option is selected, then this pass1 target is
|
||||||
@@ -347,9 +340,9 @@ tools\incdir$(HOSTEXEEXT):
|
|||||||
# is an archive. Exactly what is performed during pass1 or what it generates
|
# is an archive. Exactly what is performed during pass1 or what it generates
|
||||||
# is unknown to this makefile unless CONFIG_PASS1_OBJECT is defined.
|
# is unknown to this makefile unless CONFIG_PASS1_OBJECT is defined.
|
||||||
|
|
||||||
pass1: tools\incdir$(HOSTEXEEXT) $(USERLIBS)
|
pass1: $(USERLIBS)
|
||||||
|
|
||||||
pass2: tools\incdir$(HOSTEXEEXT) $(NUTTXLIBS)
|
pass2: $(NUTTXLIBS)
|
||||||
|
|
||||||
# $(BIN)
|
# $(BIN)
|
||||||
#
|
#
|
||||||
|
|||||||
Reference in New Issue
Block a user