diff --git a/.github/workflows/makefile.yml b/.github/workflows/makefile.yml index 564ca6b..5520fe1 100644 --- a/.github/workflows/makefile.yml +++ b/.github/workflows/makefile.yml @@ -10,7 +10,11 @@ jobs: build: strategy: matrix: - os: [ubuntu-latest, macos-latest] + os: + - ubuntu-latest + - macos-latest + # - windows-latest (The build is flaky there because of #1, unfortunately.) + fail-fast: false runs-on: ${{ matrix.os }} steps: @@ -21,9 +25,18 @@ jobs: curl -L https://github.com/gbdev/rgbds/releases/download/v0.9.1/rgbds-0.9.1-linux-x86_64.tar.xz | tar xJC rgbds cd rgbds sudo ./install.sh - - name: Install RGBDS (macOS) + - name: Install RGBDS and Make (macOS) if: matrix.os == 'macos-latest' - run: brew install rgbds + run: | + brew install rgbds make + printf 'PATH=/opt/homebrew/opt/make/libexec/gnubin:%s\n' "$PATH" | tee -a "$GITHUB_ENV" + - name: Install RGBDS (Windows) + if: matrix.os == 'windows-latest' + shell: bash + run: | # RGBDS needs to go into that directory to be picked up by Make as `rgb*` instead of needing `rgb*.exe`. + mkdir rgbds + curl -LOJ https://github.com/gbdev/rgbds/releases/download/v0.9.1/rgbds-0.9.1-win64.zip + unzip -d /c/mingw64/bin rgbds-0.9.1-win64.zip - name: Checkout uses: actions/checkout@v4 with: diff --git a/Makefile b/Makefile index 9151af5..ad0cf8b 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ .SUFFIXES: ifeq (${MAKE_VERSION},3.81) -.NOTPARALLEL: +$(error This version of Make is buggy and may fail to compile. Please install a more recent version of Make.) endif rwildcard = $(foreach d,$(wildcard $(1:=/*)),$(call rwildcard,$d,$2) $(filter $(subst *,%,$2),$d))