# ENV BUILD_DIR ?= build TARGET ?= forge RUN_ARGS ?= --project=$(PWD)/project -is=576 VERSION ?= invar-$(shell grep -Eo '[0-9]+\.[0-9]+\.[0-9]+' forge-steel/configure.ac) # FILES forge-steel/src/main.c: $(MAKE) -s submodule-init forge-steel/hashmap.c/hashmap.c: $(MAKE) -s submodule-init forge-steel/log.c/src/log.c: $(MAKE) -s submodule-init forge-steel/include/linmath.h: $(MAKE) -s submodule-init $(BUILD_DIR)/$(TARGET): forge-steel/src/main.c forge-steel/hashmap.c/hashmap.c forge-steel/log.c/src/log.c forge-steel/include/linmath.h mkdir -p $(BUILD_DIR) gcc \ forge-steel/src/*.h forge-steel/src/*.c \ -Iforge-steel/include \ forge-steel/hashmap.c/hashmap.c \ forge-steel/log.c/src/log.c \ -lm -lGL -lglfw -lasound \ -Wall -Wextra \ -Wno-format-truncation \ -DGLFW_INCLUDE_NONE \ -DGLFW_NATIVE_INCLUDE_NONE \ -DLOG_USE_COLOR \ -DVERSION=\"$(VERSION)\" \ -DOPENGL_MAJOR_VERSION=3 \ -DOPENGL_MINOR_VERSION=1 \ -o build/$(TARGET) \ -O3 # ACTIONS .PHONY: remove-passwd remove-passwd: sudo passwd -d forge .PHONY: apt-install apt-install: sudo apt update sudo apt install -y weston kitty libglfw3-dev libgl-dev libasound2-dev libv4l-dev .PHONY: setup-weston: setup-weston: ln -s $(PWD)/system/weston.ini $(XDG_CONFIG_HOME)/weston.ini .PHONY: setup-system-services: setup-system-services: sudo ln -s $(PWD)/system/getty@tty1.service /etc/systemd/system/getty@tty1.service sudo systemctl daemon-reload sudo systemctl enable getty@tty1.service .PHONY: setup-user-services: setup-user-services: sudo ln -s $(PWD)/system/weston.service /etc/systemd/user/weston.service sudo ln -s $(PWD)/system/weston.socket /etc/systemd/user/weston.socket systemctl --user daemon-reload systemctl --user enable weston seatd .PHONY: install install: remove-passwd apt-install setup-weston setup-system-services setup-user-services .PHONY: clean clean: rm -rf $(BUILD_DIR) .PHONY: build build: $(BUILD_DIR)/$(TARGET) .PHONY: run run: $(BUILD_DIR)/$(TARGET) $(BUILD_DIR)/$(TARGET) $(RUN_ARGS) .PHONY: submodule-init submodule-init: git submodule update --init --recursive .PHONY: start-weston start-weston: weston --shell=kiosk-shell.so --xwayland -- kitty --hold $(BUILD_DIR)/$(TARGET) $(RUN_ARGS) .PHONY: start start: $(BUILD_DIR)/$(TARGET) $(RUN_ARGS)