diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..153a2e7 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,15 @@ +name: build +on: push +jobs: + linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - run: sudo apt-get install musl-tools + - run: make linux + - run: make windows + macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v3 + - run: make macos diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..09473ce --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +CWD ?= $(realpath $(CURDIR)) +VERSION ?= queue + +all: linux macos windows + +linux: mongoose + $(MAKE) -C mongoose/examples/http-server PROG=mongoose_$@ CC=musl-gcc CFLAGS_EXTRA="-static -s -Os" + mv mongoose/examples/http-server/mongoose_$@ . + +windows: mongoose + $(MAKE) -C mongoose/examples/http-server PROG=mongoose.exe \ + CC="docker run --platform linux/amd64 --rm -v $(CWD):$(CWD) -w $(CWD)/mongoose/examples/http-server mdashnet/vc22 wine64 cl" \ + CFLAGS="/MD /nologo" + mv mongoose/examples/http-server/mongoose.exe . + +macos: mongoose + $(MAKE) -C mongoose/examples/http-server PROG=mongoose_$@ mongoose_$@ + mv mongoose/examples/http-server/mongoose_$@ . + +mongoose: + git clone --depth 1 -b $(VERSION) https://github.com/cesanta/mongoose $@