Add symbol definitions, code cleanup

This commit is contained in:
Jacob Gunther
2023-04-20 00:15:52 -05:00
parent 2d1648f119
commit a66cc778f7
9 changed files with 299 additions and 100 deletions

View File

@@ -1,13 +1,31 @@
# Variables
BINARY := bin/main
SOURCES := $(wildcard src/*.go)
# Build for the current platform
build:
go build -o bin/main src/*.go
go build -o $(BINARY) $(SOURCES)
build-linux:
GOOS=linux go build -o bin/main src/*.go
# Build for Linux
build-linux: GOOS := linux
build-linux: EXTENSION :=
build-linux: build-cross
build-windows:
GOOS=linux go build -p bin/main src/*.go
# Build for Windows
build-windows: GOOS := windows
build-windows: EXTENSION := .exe
build-windows: build-cross
run:
go run src/*.go
# Cross-compile for a specific platform (used by build-linux and build-windows)
build-cross: export GOOS := $(GOOS)
build-cross: BINARY := $(BINARY)$(EXTENSION)
build-cross: $(BINARY)
all: build
# Run the application
run: build
./$(BINARY)
# Clean up generated files
.PHONY: clean
clean:
rm -f $(BINARY) $(BINARY).exe