mirror of
https://github.com/platformio/platform-linux_x86_64.git
synced 2025-09-06 15:12:51 +00:00
73 lines
1.7 KiB
Python
73 lines
1.7 KiB
Python
# Copyright 2014-present PlatformIO <contact@platformio.org>
|
|
#
|
|
# Licensed 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
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
"""
|
|
Builder for Linux Linux x64_64 / 64-bit
|
|
"""
|
|
|
|
from SCons.Script import AlwaysBuild, Default, DefaultEnvironment
|
|
|
|
from platformio.util import get_systype
|
|
|
|
env = DefaultEnvironment()
|
|
|
|
env.Replace(
|
|
_BINPREFIX="",
|
|
AR="${_BINPREFIX}ar",
|
|
AS="${_BINPREFIX}as",
|
|
CC="${_BINPREFIX}gcc",
|
|
CXX="${_BINPREFIX}g++",
|
|
GDB="${_BINPREFIX}gdb",
|
|
OBJCOPY="${_BINPREFIX}objcopy",
|
|
RANLIB="${_BINPREFIX}ranlib",
|
|
SIZETOOL="${_BINPREFIX}size",
|
|
|
|
SIZEPRINTCMD='$SIZETOOL $SOURCES'
|
|
)
|
|
|
|
if get_systype() == "darwin_x86_64":
|
|
env.Replace(
|
|
_BINPREFIX="x86_64-pc-linux-"
|
|
)
|
|
|
|
#
|
|
# Target: Build executable program
|
|
#
|
|
|
|
target_bin = env.BuildProgram()
|
|
|
|
#
|
|
# Target: Execute binary
|
|
#
|
|
|
|
exec_action = env.VerboseAction(
|
|
"$SOURCE $PROGRAM_ARGS", "Executing $SOURCE")
|
|
|
|
AlwaysBuild(env.Alias("exec", target_bin, exec_action))
|
|
AlwaysBuild(env.Alias("upload", target_bin, exec_action))
|
|
|
|
#
|
|
# Target: Print binary size
|
|
#
|
|
|
|
target_size = env.Alias("size", target_bin, env.VerboseAction(
|
|
"$SIZEPRINTCMD", "Calculating size $SOURCE"))
|
|
AlwaysBuild(target_size)
|
|
|
|
#
|
|
# Default targets
|
|
#
|
|
|
|
Default([target_bin])
|