zephyr/samples/static_lib/mylib/Makefile
Paul Sokolovsky 38e3e0b812 Makefile.toolchain.zephyr: Test CONFIG_TOOLCHAIN_VARIANT robustly.
Current code tests treats "" (quotes included) as an empty value for that
varible (as coming from Kconfig). However, that file also used to
integrate with build systems for 3rd-party components, e.g. as examplified
by samples/static_lib, and in that case it will be just an empty string.
So, first strip surrounding quotes, then test for empty string.

samples/static_lib: Update for recent Makefile.toolchain.zephyr changes.

Makefile.toolchain.zephyr is 2-pass now, so needs to be included twice.
ARCH needs to be defined *before* including it. Otherwise, just used
CROSS_COMPILE and TOOLCHAIN_CFLAGS set by it.

Change-Id: I56e963d0d107c77390395682d60400cf6ca62337
Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2016-08-04 18:31:12 +00:00

38 lines
1.2 KiB
Makefile

#
# Copyright (c) 2016 Intel Corporation
#
# 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.
#
# This Makefile is like a replacement of the $(ZEPHYR_BASE)/Makefile
# for libraries. So, we need to define ARCH, and do it before including
# Makefile.toolchain.*
ARCH ?= x86
# This include will set CROSS_COMPILE & TOOLCHAIN_CFLAGS for us. It uses
# two-pass compile flag configuration, so needs to be included twice.
include $(ZEPHYR_BASE)/scripts/Makefile.toolchain.$(ZEPHYR_GCC_VARIANT)
include $(ZEPHYR_BASE)/scripts/Makefile.toolchain.$(ZEPHYR_GCC_VARIANT)
CC = $(CROSS_COMPILE)gcc
AR = $(CROSS_COMPILE)ar
all:
mkdir -p obj lib
$(CC) -c $(TOOLCHAIN_CFLAGS) -Iinclude src/mylib.c -o obj/mylib.o
$(AR) -rcs lib/libmylib.a obj/mylib.o
clean:
rm -rf obj lib