Adjusted some Script and Makefile stuff

This commit is contained in:
Victor Vobis 2026-02-11 13:00:36 +01:00
parent d6efed6177
commit ebcf9910d2
4 changed files with 26 additions and 62 deletions

View File

@ -16,7 +16,9 @@ CFLAGS := -Wall -Werror -Wextra
LDFLAGS := -lm LDFLAGS := -lm
NAME := miniRT OUT_DIR := out
NAME := $(OUT_DIR)/miniRT
SRCDIR := src SRCDIR := src
@ -26,7 +28,11 @@ PLATFORM ?= PLATFORM_DESKTOP
LIBRAYLIB := libraylib.a LIBRAYLIB := libraylib.a
WEB_OUTPUT := miniRT DISPLAY_WIDTH := 800
DISPLAY_HEIGHT := 600
WEB_OUTPUT_DIR := web
WEB_OUTPUT := $(WEB_OUTPUT_DIR)/miniRT
WEB_OUTPUT_HTML := $(WEB_OUTPUT).html WEB_OUTPUT_HTML := $(WEB_OUTPUT).html
WEB_OUTPUT_JS := $(WEB_OUTPUT).js WEB_OUTPUT_JS := $(WEB_OUTPUT).js
WEB_OUTPUT_WASM := $(WEB_OUTPUT).wasm WEB_OUTPUT_WASM := $(WEB_OUTPUT).wasm
@ -36,15 +42,17 @@ OBJDIR_BASE := obj
ifeq ($(PLATFORM), PLATFORM_WEB) ifeq ($(PLATFORM), PLATFORM_WEB)
LIBRAYLIB := libraylib.web.a LIBRAYLIB := libraylib.web.a
NAME := $(NAME).html OUT_DIR := $(WEB_OUTPUT_DIR)
NAME := WE
CC := emcc CC := emcc
AR := emar AR := emar
CFLAGS += -v -DROOT_DIRECTORY=\"/data\" CFLAGS += -v -DROOT_DIRECTORY=\"/data\"
LDFLAGS += -s USE_GLFW=3 \ LDFLAGS += -o $(WEB_OUTPUT_HTML) \
-s USE_GLFW=3 \
-s ASYNCIFY \ -s ASYNCIFY \
-s ASSERTIONS=1 \ -s ASSERTIONS=1 \
-s SAFE_HEAP=1 \ -s SAFE_HEAP=1 \
--preload-file scenes@/data/scenes \ --preload-file assets/scenes@/data/assets/scenes \
--preload-file assets@/data/assets \ --preload-file assets@/data/assets \
--shell-file raylib/src/shell.html \ --shell-file raylib/src/shell.html \
-DPLATFORM_WEB \ -DPLATFORM_WEB \
@ -104,7 +112,7 @@ endif
all: $(LIBS) $(OBJDIR) $(NAME) all: $(LIBS) $(OBJDIR) $(NAME)
$(NAME): $(OBJ) minirt.h $(OBJIO) $(OBJSCENE) $(OBJUTIL) $(OBJRENDER) $(NAME): $(OUT_DIR) $(OBJ) minirt.h $(OBJIO) $(OBJSCENE) $(OBJUTIL) $(OBJRENDER)
$(CC) $(CFLAGS) -o $@ $(OBJ) $(OBJIO) $(OBJSCENE) $(OBJUTIL) $(OBJRENDER) $(LIBS) $(LDFLAGS) $(CC) $(CFLAGS) -o $@ $(OBJ) $(OBJIO) $(OBJSCENE) $(OBJUTIL) $(OBJRENDER) $(LIBS) $(LDFLAGS)
$(OBJDIR)/%.o: $(SRCDIR)/$(SCENEDIR)/%.c minirt.h $(OBJDIR)/%.o: $(SRCDIR)/$(SCENEDIR)/%.c minirt.h
@ -132,13 +140,20 @@ $(LIBS):
make AR=$(AR) CC=$(CC) -C libft/printf make AR=$(AR) CC=$(CC) -C libft/printf
make -C raylib/src PLATFORM=$(PLATFORM) make -C raylib/src PLATFORM=$(PLATFORM)
$(OUT_DIR):
mkdir -p $@
$(OBJDIR): $(OBJDIR):
mkdir -p $(OBJDIR) $(OBJDIR)/$(SRCDIR) $(OBJDIR)/$(RENDERDIR) $(OBJDIR)/$(IODIR) $(OBJDIR)/$(UTILDIR) $(OBJDIR)/$(SCENEDIR) mkdir -p $(OBJDIR) $(OBJDIR)/$(SRCDIR) $(OBJDIR)/$(RENDERDIR) $(OBJDIR)/$(IODIR) $(OBJDIR)/$(UTILDIR) $(OBJDIR)/$(SCENEDIR)
vnc: all vnc: clean clean_vnc all
$(VNC_SCRIPT) $(VNC_SCRIPT) $(DISPLAY_WIDTH) $(DISPLAY_HEIGHT)
clean: clean_vnc: clean
pkill -9 websockify || true
pkill -9 Xvnc || true
clean: clean_vnc
rm -rf $(OBJDIR_BASE) rm -rf $(OBJDIR_BASE)
make clean -C libft make clean -C libft
make clean -C memory make clean -C memory
@ -146,7 +161,7 @@ clean:
make clean -C raylib/src make clean -C raylib/src
fclean: clean fclean: clean
rm -rf $(NAME) $(MAP) $(WEB_OUTPUT_JS) $(WEB_OUTPUT_HTML) $(WEB_OUTPUT_WASM) $(WEB_OUTPUT_DATA) rm -rf $(NAME) $(MAP) $(WEB_OUTPUT_DIR) $(OUT_DIR) $(WEB_OUTPUT_JS) $(WEB_OUTPUT_HTML) $(WEB_OUTPUT_WASM) $(WEB_OUTPUT_DATA)
make fclean -C libft make fclean -C libft
make fclean -C memory make fclean -C memory
make fclean -C libft/printf make fclean -C libft/printf

BIN
miniRT

Binary file not shown.

View File

@ -1,49 +0,0 @@
#!/bin/bash
NOVNC=""
XVNC=Xvnc
XVNC_HOST=0.0.0.0
XVNC_PORT=5901
DISPLAY_WIDTH=$1
DISPLAY_HEIGHT=$2
print_usage() {
echo "Usage: run_vnc.sh <width> <height>"
}
if command -v novnc_proxy &> /dev/null; then
NOVNC=novnc_proxy
elif command -v novnc &> /dev/null; then
NOVNC=novnc
else
echo "noVNC (novnc_proxy || novnc) not found! Aborting..."
exit 1
fi
if ! command -v Xvnc &> /dev/null; then
echo "Xvnc not found! Aborting..."
exit 1
fi
if [[ "$DISPLAY_WIDTH" = "" || "$DISPLAY_HEIGHT" = "" ]] ; then
print_usage
exit 1
fi
$XVNC :1 \
-geometry ${DISPLAY_WIDTH}x${DISPLAY_HEIGHT} \
-depth 24 \
-SecurityTypes None \
-interface $XVNC_HOST \
-rfbport $XVNC_PORT &
sleep 2
$NOVNC --vnc localhost:${XVNC_PORT} &
sleep 2
export DISPLAY=:1
exec ./miniRT

View File

@ -109,10 +109,8 @@ uint rendering_loop(t_data *data)
BeginDrawing(); BeginDrawing();
DrawTexture(data->texture, 0, 0, RAYWHITE); DrawTexture(data->texture, 0, 0, RAYWHITE);
#ifdef __EMSCRIPTEN__
Vector2 pos = GetMousePosition(); Vector2 pos = GetMousePosition();
DrawCircleV(pos, (float)data->scene.w / 100, RED); DrawCircleV(pos, (float)data->scene.w / 200, RED);
#endif
EndDrawing(); EndDrawing();
return (0); return (0);
} }