2022-01-12 18:18:23 +01:00
|
|
|
# =====CONFIG=====
|
|
|
|
LARCHIVE_VER := 3.5.2
|
|
|
|
LARCHIVE_DIR := libarchive-$(LARCHIVE_VER)
|
|
|
|
LARCHIVE_LIB := $(LARCHIVE_DIR)/.libs/libarchive.a
|
|
|
|
|
|
|
|
# Custom V command for linking libarchive
|
2022-01-12 18:54:13 +01:00
|
|
|
V := LDFLAGS=$(PWD)/$(LARCHIVE_LIB) v -cflags -I$(PWD)/$(LARCHIVE_DIR)
|
2022-01-09 21:45:48 +01:00
|
|
|
|
2022-01-12 18:54:13 +01:00
|
|
|
|
|
|
|
# =====COMPILATION=====
|
|
|
|
.PHONY: vieter
|
|
|
|
vieter:
|
|
|
|
$(V) -cg -o vieter.exe vieter
|
|
|
|
|
|
|
|
.PHONY: prod
|
|
|
|
prod:
|
|
|
|
$(V) -o vieter-prod.exe -prod vieter
|
|
|
|
|
|
|
|
|
|
|
|
# =====EXECUTION=====
|
2022-01-12 18:18:23 +01:00
|
|
|
# Run the server in the default 'data' directory
|
|
|
|
.PHONY: run
|
|
|
|
run: libarchive
|
|
|
|
API_KEY=test REPO_DIR=data LOG_LEVEL=DEBUG $(V) run vieter
|
2022-01-11 18:19:41 +01:00
|
|
|
|
2022-01-12 18:18:23 +01:00
|
|
|
# Same as run, but restart when the source code changes
|
2022-01-09 21:45:48 +01:00
|
|
|
.PHONY: watch
|
2022-01-12 18:18:23 +01:00
|
|
|
watch: libarchive
|
|
|
|
API_KEY=test REPO_DIR=data LOG_LEVEL=DEBUG $(V) watch run vieter
|
2022-01-09 09:29:11 +01:00
|
|
|
|
2022-01-12 18:54:13 +01:00
|
|
|
|
|
|
|
# =====OTHER=====
|
2022-01-12 18:18:23 +01:00
|
|
|
# Format the V codebase
|
2022-01-09 09:29:11 +01:00
|
|
|
.PHONY: fmt
|
|
|
|
fmt:
|
|
|
|
v fmt -w vieter
|
2022-01-09 23:02:55 +01:00
|
|
|
|
|
|
|
# Pulls & builds my personal build of the v compiler, required for this project to function
|
|
|
|
.PHONY: customv
|
|
|
|
customv:
|
|
|
|
rm -rf v-jjr
|
|
|
|
git clone \
|
|
|
|
-b vweb-streaming \
|
|
|
|
--single-branch \
|
|
|
|
https://github.com/ChewingBever/v jjr-v
|
2022-01-09 23:03:51 +01:00
|
|
|
'$(MAKE)' -C jjr-v
|
2022-01-12 18:18:23 +01:00
|
|
|
|
2022-01-12 18:54:13 +01:00
|
|
|
|
|
|
|
# =====LIBARCHIVE=====
|
2022-01-12 18:18:23 +01:00
|
|
|
.PHONY: libarchive
|
|
|
|
libarchive: $(LARCHIVE_LIB)
|
|
|
|
$(LARCHIVE_LIB):
|
|
|
|
curl -o - "https://libarchive.org/downloads/libarchive-${LARCHIVE_VER}.tar.gz" | tar xzf -
|
|
|
|
cd "libarchive-${LARCHIVE_VER}" && ./configure --disable-bsdtar --disable-bsdcpio
|
|
|
|
'$(MAKE)' -C "libarchive-${LARCHIVE_VER}"
|
|
|
|
|
|
|
|
clean:
|
|
|
|
rm -rf '$(LARCHIVE_DIR)' 'data'
|