42 lines
1.3 KiB
Makefile
42 lines
1.3 KiB
Makefile
VERSION_FILE := VERSION.txt
|
|
|
|
REX_VERSION := $(shell bash ./generate_version.sh)
|
|
RELEASE_NAME := rexforge_$(REX_VERSION)
|
|
export REX_VERSION
|
|
|
|
help:
|
|
@echo -e "Makefile for $(RELEASE_NAME)\n"
|
|
@echo "Available targets:"
|
|
@echo " release - Create a release version and package"
|
|
@echo " clean - Clean up build files"
|
|
@echo " container - Build an OCI container (requires podman)"
|
|
@echo " help - Show this help message"
|
|
|
|
release: $(RELEASE_NAME)
|
|
make -C ./rex_client REX_VERSION=$(REX_VERSION)
|
|
make -C ./rex_server REX_VERSION=$(REX_VERSION)
|
|
mv ./rex_client/rexclient $(RELEASE_NAME)
|
|
mv ./rex_server/rexserver $(RELEASE_NAME)
|
|
cp ./LICENSE.txt $(RELEASE_NAME)
|
|
cp ./README.md $(RELEASE_NAME)
|
|
mkdir -p $(RELEASE_NAME)/source
|
|
echo $(REX_VERSION) > $(RELEASE_NAME)/source/VERSION.txt
|
|
git ls-files | xargs -I{} cp --parents {} $(RELEASE_NAME)/source
|
|
date -I > $(RELEASE_NAME)/INFO.txt
|
|
echo $(REX_VERSION) >> $(RELEASE_NAME)/INFO.txt
|
|
go version >> $(RELEASE_NAME)/INFO.txt
|
|
tar cvzf $(RELEASE_NAME).tar.gz $(RELEASE_NAME)
|
|
|
|
$(RELEASE_NAME):
|
|
mkdir -p $@
|
|
|
|
container:
|
|
podman build -t rexserver:$(REX_VERSION) --env REX_VERSION -f container/Containerfile .
|
|
|
|
clean:
|
|
make -C ./rex_client clean
|
|
make -C ./rex_server clean
|
|
rm -rf *.tar.gz
|
|
rm -rf rexforge_*
|
|
|
|
.PHONY: release clean container help
|