#!/usr/bin/env bash # # build_example # # Usage: build_example internal config-home config-folder # # Require 'internal' as the first argument [[ "$1" == "internal" ]] || { echo "Don't call this script directly, use build_all_examples instead." ; exit 1 ; } echo "Testing $3:" SUB=$2/config/examples/$3 [[ -d "$SUB" ]] || { echo "$SUB is not a good path" ; exit 1 ; } compgen -G "${SUB}Con*.h" > /dev/null || { echo "No configuration files found in $SUB" ; exit 1 ; } echo "Getting configuration files from $SUB" cp "$2/config/default"/*.h Marlin/ cp "$SUB"/Configuration.h Marlin/ 2>/dev/null cp "$SUB"/Configuration_adv.h Marlin/ 2>/dev/null cp "$SUB"/_Bootscreen.h Marlin/ 2>/dev/null cp "$SUB"/_Statusscreen.h Marlin/ 2>/dev/null set -e # Strip #error lines from Configuration.h SED=$(which gsed sed | head -n1) IFS=$'\n'; set -f $SED -i~ -e "20,30{/#error/d}" Marlin/Configuration.h rm Marlin/Configuration.h~ unset IFS; set +f echo "Building the firmware now..." HERE=`dirname "$0"` $HERE/mftest -s -a -n1 || { echo "Failed"; exit 1; } echo "Success"