#!/bin/bash

# This sets environment variables used by scripts/make.sh

# People run ./configure out of habit, so do "defconfig" for them.

if [ "$(basename "$0")" == configure ]
then
  echo "Assuming you want 'make defconfig', but you should probably check the README."
  make defconfig
  exit $?
fi

# A synonym.
[ -z "$CROSS_COMPILE" ] && CROSS_COMPILE="$CROSS"

# CFLAGS and OPTIMIZE are different so you can add extra CFLAGS without
# disabling default optimizations
[ -z "$CFLAGS" ] && CFLAGS="-Wall -Wundef -Wno-char-subscripts -Werror=implicit-function-declaration"
# Required for our expected ABI. we're 8-bit clean thus "char" must be unsigned.
CFLAGS="$CFLAGS -funsigned-char"
[ -z "$OPTIMIZE" ] && OPTIMIZE="-Os -ffunction-sections -fdata-sections -fno-asynchronous-unwind-tables -fno-strict-aliasing"

# We accept LDFLAGS, but by default don't have anything in it
if [ "$(uname)" != "Darwin" ]
then
  [ -z "$LDOPTIMIZE" ] && LDOPTIMIZE="-Wl,--gc-sections"
  LDASNEEDED="-Wl,--as-needed"
fi

# The makefile provides defaults for these, so this only gets used if
# you call scripts/make.sh and friends directly.

[ -z "$CC" ] && CC=cc
[ -z "$STRIP" ] && STRIP=strip

# If HOSTCC needs CFLAGS or LDFLAGS, just add them to the variable
# ala HOSTCC="blah-cc --static"
[ -z "$HOSTCC" ] && HOSTCC=cc
