diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c8fc420..e11b29e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -100,24 +100,29 @@ jobs: build-windows: runs-on: windows-latest + defaults: + run: + shell: msys2 {0} + steps: - uses: actions/checkout@v3 with: submodules: recursive - - name: Install build tools - run: choco install winflexbison -y - shell: pwsh - - - name: Setup Python - uses: actions/setup-python@v4 + - uses: msys2/setup-msys2@v2 with: - python-version: '3.x' + msystem: MINGW64 + update: true + install: > + base-devel + mingw-w64-x86_64-gcc + mingw-w64-x86_64-make + mingw-w64-x86_64-gmp + mingw-w64-x86_64-gc - - name: Build with MinGW + - name: Build Project run: | - make windows - shell: pwsh + make - name: Package run: | diff --git a/Makefile b/Makefile index 6e75c20..0696901 100644 --- a/Makefile +++ b/Makefile @@ -6,17 +6,19 @@ BINARY = bin/argon FLEX_TOOL = flex +CFILES = external/xxhash/xxhash.c external/cwalk/src/cwalk.c external/libdye/src/dye.c $(shell find src -name '*.c') + # If target is "windows", override FLEX_TOOL ifeq ($(MAKECMDGOALS),windows) BINARY = bin/argon.exe FLEX_TOOL = win_flex + + CFILES = external/xxhash/xxhash.c external/cwalk/src/cwalk.c external/libdye/src/dye.c $(shell dir /b /s src\*.c) endif LEXER_SRC = src/lexer/lex.l LEXER_C = src/lexer/lex.yy.c LEXER_H = src/lexer/lex.yy.h - -CFILES = external/xxhash/xxhash.c external/cwalk/src/cwalk.c external/libdye/src/dye.c $(shell find src -name '*.c') CFLAGS = $(ARCHFLAGS) -lm -lgc -lgmp -Wall -Wextra -Wno-unused-function -Werror=unused-result -Iexternal/cwalk/include -Iexternal/libdye/include all: $(BINARY)