remove unneeded makefiles

This commit is contained in:
CrackedPixel 2026-02-20 17:19:40 -06:00
parent 14c6ef26fb
commit dde9af34ce
2 changed files with 0 additions and 455 deletions

View File

@ -1,419 +0,0 @@
# CUSTOM ARGS :
# WAYLAND=1 -> use wayland
# WAYLAND_X11=1 -> use wayland AND X11
# NO_VULKAN=1 -> do not compile the vulkan example
# NO_GLES=1 -> do not compile the gles example (on by default for non-linux OSes)
# NO_OSMESA=1 -> do not compile the osmesa example (on by default for non-linux OSes)
CC ?= gcc
AR ?= ar
# used for compiling RGFW.o
CUSTOM_CFLAGS =
# used for the examples
CFLAGS =
CFLAGS += -g3
ifdef RGFW_C89
CUSTOM_CFLAGS += -std=c89 -Wno-declaration-after-statement -Wall -Wextra -Wpedantic
endif
DX11_LIBS = -static -lgdi32 -ldxgi -ld3d11 -luuid -ld3dcompiler
VULKAN_LIBS = -lgdi32 -I $(VULKAN_SDK)\Include -L $(VULKAN_SDK)\Lib -lvulkan-1
LIBS := -static -lgdi32
LINK_GL1 = -lopengl32
EXT = .exe
LIB_EXT = .dll
ifneq ($(CC),zig cc)
LIBS += -D _WIN32_WINNT=0x0501
endif
OS_DIR = \\
NO_OSMESA = 1
NO_GLES = 1
NO_EGL = 1
detected_OS = windows
OBJ_FILE = .o
ifeq ($(WAYLAND_ONLY), 1)
WAYLAND = 1
endif
ifeq ($(WAYLAND_X11), 1)
WAYLAND = 1
endif
# not using a cross compiler
ifeq (,$(filter $(CC),x86_64-w64-mingw32-gcc i686-w64-mingw32-gcc x86_64-w64-mingw32-g++ /opt/msvc/bin/x64/cl.exe /opt/msvc/bin/x86/cl.exe))
detected_OS := $(shell uname 2>/dev/null || echo Unknown)
ifeq ($(detected_OS),Darwin) # Mac OS X
DX11_LIBS =
LIBS := -framework CoreVideo -framework Cocoa -framework OpenGL -framework IOKit
LINK_GL1 = -framework OpenGL
VULKAN_LIBS = $(LIBS) -lvulkan
EXT =
LIB_EXT = .dylib
OS_DIR = /
NO_VULKAN ?= 1
endif
ifeq ($(detected_OS),Linux)
DX11_LIBS =
LINK_GL1 = -lGL
ifneq ($(WAYLAND_ONLY), 1)
LIBS = -lXrandr -lX11 -ldl -lpthread -lm
else
LIBS =
endif
VULKAN_LIBS = $(LIBS) -lvulkan
EXT =
LIB_EXT = .so
OS_DIR = /
NO_GLES = 0
NO_EGL = 0
endif
ifeq ($(detected_OS),NetBSD)
DX11_LIBS =
LINK_GL1 = -lGL
CUSTOM_CFLAGS += -I/usr/pkg/include -I/usr/X11R7/include -Wl,-R/usr/pkg/lib -Wl,-R/usr/X11R7/lib -L/usr/pkg/lib -L/usr/X11R7/lib
LIBS := $(CUSTOM_CFLAGS) -lXrandr -lX11 -lpthread -lm
VULKAN_LIBS = $(LIBS) -lvulkan
EXT =
LIB_EXT = .so
OS_DIR = /
NO_GLES = 0
NO_EGL = 0
NO_VULKAN = 1
endif
ifeq (,$(filter $(detected_OS),Linux Darwin NetBSD))
detected_OS := windows
endif
else
OS_DIR = /
endif
ifeq ($(WAYLAND),1)
WAYLAND_SOURCE = $(shell make -f wayland.mk sources -s)
NO_VULKAN = 1
NO_GLES = 0
NO_EGL = 0
LIBS += -D RGFW_WAYLAND $(WAYLAND_SOURCE) -lwayland-cursor -lwayland-client -lxkbcommon -lwayland-egl -lEGL -lm
LINK_GL1 = -lEGL -lGL
# LIBS += -ldecor-0
ifeq ($(WAYLAND_X11), 1)
LIBS += -D RGFW_X11
endif
endif
LINK_GL3 =
LINK_GL2 =
LINK_OSMESA =
ifneq (,$(filter $(CC),cl /opt/msvc/bin/x64/cl.exe /opt/msvc/bin/x86/cl.exe))
WARNINGS = -Wall -wd4668 -wd4820 -wd5045
LIBS =
DX11_LIBS =
VULKAN_LIBS =
OBJ_FILE = .obj
else ifneq (,$(filter $(CC),emcc em++))
DX11_LIBS =
LINK_GL1 = -s LEGACY_GL_EMULATION -D LEGACY_GL_EMULATION -sGL_UNSAFE_OPTS=0
LINK_GL3 = -s FULL_ES3 -s USE_WEBGL2
LINK_GL2 = -s FULL_ES2 -s USE_WEBGL2
LINK_OSMESA = -sALLOW_MEMORY_GROWTH
EXPORTED_JS = -s EXPORTED_RUNTIME_METHODS="['stringToNewUTF8']"
LIBS = -s WASM=1 -s ASYNCIFY -s GL_SUPPORT_EXPLICIT_SWAP_CONTROL=1 $(EXPORTED_JS)
EXT = .js
NO_GLES = 0
NO_EGL = 0
NO_VULKAN = 1
detected_OS = web
DX11_LIBS =
else ifeq (,$(filter $(CC),g++ clang++ em++))
CFLAGS += -std=c99
WARNINGS = -Wall -Werror -Wdouble-promotion -Wmissing-prototypes -Wextra -Wstrict-prototypes -Wold-style-definition -Wpedantic -Wconversion -Wsign-conversion -Wshadow -Wpointer-arith -Wvla -Wcast-align -Wstrict-overflow -Wnested-externs -Wstrict-aliasing -Wredundant-decls -Winit-self -Wmissing-noreturn
else
WARNINGS = -Wall -Werror -Wdouble-promotion -Wextra -Wpedantic -Wconversion -Wsign-conversion -Wshadow -Wpointer-arith -Wvla -Wcast-align -Wstrict-overflow -Wstrict-aliasing -Wredundant-decls -Winit-self -Wmissing-noreturn
NO_VULKAN = 1
ifeq ($(detected_OS),Darwin)
WARNINGS += -Wno-deprecated -Wno-unknown-warning-option -Wno-pedantic
endif
endif
ifeq ($(WAYLAND_X11), 1)
# lazy fix (no -Wmissing-prototypes for wayland X11)
WARNINGS = -Wall -Werror -Wdouble-promotion -Wextra -Wpedantic -Wconversion -Wsign-conversion -Wshadow -Wpointer-arith -Wvla -Wcast-align -Wstrict-overflow -Wstrict-aliasing -Wredundant-decls -Winit-self -Wmissing-noreturn
endif
EXAMPLE_OUTPUTS = \
examples/gl11/gl11 \
examples/surface/surface\
examples/event_queue/event_queue \
examples/callbacks/callbacks \
examples/state-checking/state-checking \
examples/flags/flags \
examples/monitor/monitor \
examples/gamma/gamma \
examples/gl33_ctx/gl33_ctx \
examples/smooth-resize/smooth-resize \
examples/multi-window/multi-window \
examples/standard-mouse-icons/icons \
examples/custom_alloc/custom_alloc \
examples/flash/flash \
EXAMPLE_OUTPUTS_CUSTOM = \
examples/window_icons/icons \
examples/mouse_icons/icons \
examples/gamepad/gamepad \
examples/first-person-camera/camera \
examples/microui_demo/microui_demo \
examples/gl33/gl33 \
examples/portableGL/pgl \
examples/gles2/gles2 \
examples/egl/egl \
examples/osmesa_demo/osmesa_demo \
examples/vk10/vk10 \
examples/dx11/dx11 \
examples/metal/metal \
examples/minimal_links/minimal_links \
examples/gears/gears \
examples/srgb/srgb
TEST_OUTPUTS = \
tests/loop \
all: $(WAYLAND_SOURCE) $(EXAMPLE_OUTPUTS) $(EXAMPLE_OUTPUTS_CUSTOM) libRGFW$(LIB_EXT) libRGFW.a
examples: $(WAYLAND_SOURCE) $(EXAMPLE_OUTPUTS) $(EXAMPLE_OUTPUTS_CUSTOM)
tests: $(WAYLAND_SOURCE) $(TEST_OUTPUTS)
examples/gears/gears: examples/gears/gears.c RGFW.h $(WAYLAND_SOURCE)
ifneq (,$(filter $(CC),emcc em++))
@echo gears is not supported on this platform
else
$(CC) $(CFLAGS) -I. $< $(LINK_GL1) $(LIBS) -lm $($) -o $@$(EXT)
endif
examples/srgb/srgb: examples/srgb/srgb.c RGFW.h $(WAYLAND_SOURCE)
$(CC) $(CFLAGS) -I. $< $(LINK_GL1) $(LIBS) -lm $($) -o $@$(EXT)
examples/portableGL/pgl: examples/portableGL/pgl.c RGFW.h $(WAYLAND_SOURCE)
ifeq (,$(filter $(CC),emcc em++))
$(CC) -w $(CFLAGS) -I. $< -lm $(LIBS) -o $@
else
@echo "the portableGL example doesn't support html5"
endif
examples/gles2/gles2: examples/gles2/gles2.c RGFW.h $(WAYLAND_SOURCE)
ifneq ($(NO_GLES), 1)
$(CC) $(CFLAGS) -I. $< $(LIBS) $(LINK_GL2) -lGL -o $@$(EXT)
else
@echo gles has been disabled
endif
examples/egl/egl: examples/egl/egl.c RGFW.h $(WAYLAND_SOURCE)
ifneq ($(NO_EGL), 1)
$(CC) $(CFLAGS) -I. $< $(LIBS) $(LINK_GL1) -lGL -lEGL -o $@$(EXT)
else
@echo egl has been disabled
endif
examples/osmesa_demo/osmesa_demo: examples/osmesa_demo/osmesa_demo.c RGFW.h $(WAYLAND_SOURCE)
ifneq ($(NO_OSMESA), 1)
$(CC) $(CFLAGS) -I. $< $(LIBS) $(LINK_OSMESA) -lOSMesa -o $@$(EXT)
else
@echo osmesa has been disabled
endif
examples/vk10/vk10: examples/vk10/vk10.c examples/vk10/vkinit.h RGFW.h $(WAYLAND_SOURCE)
ifneq ($(NO_VULKAN), 1)
glslangValidator -V examples/vk10/shaders/vert.vert -o examples/vk10/shaders/vert.h --vn vert_code
glslangValidator -V examples/vk10/shaders/frag.frag -o examples/vk10/shaders/frag.h --vn frag_code
$(CC) $(CFLAGS) -I. $< $(VULKAN_LIBS) -o $@
else
@echo vulkan has been disabled
endif
examples/every_api/every:
ifneq ($(NO_VULKAN), 1)
$(CC) $(CFLAGS) -I. $< $(LINK_GL1) $(VULKAN_LIBS) $(DX11_LIBS) -o $@
else
$(CC) $(CFLAGS) -I. $< $(LIBS) $(LINK_GL1) $(DX11_LIBS) -D RGFW_NO_VULKAN -o $@
endif
examples/dx11/dx11: examples/dx11/dx11.c RGFW.h $(WAYLAND_SOURCE)
ifeq ($(CC), zig cc)
@echo directX is not supported with Zig
else ifneq (,$(filter $(CC),g++ clang++ "zig cc"))
@echo directX is not supported with C++
else ifneq (,$(filter $(detected_OS), windows Windows_NT))
$(CC) $(CFLAGS) -I. $< $(DX11_LIBS) -o $@
else
@echo directX is not supported on $(detected_OS)
endif
examples/metal/metal: examples/metal/metal.m RGFW.h $(WAYLAND_SOURCE)
ifeq ($(detected_OS),Darwin) # Mac OS X
$(CC) $(CFLAGS) examples/metal/metal.m -I. -framework CoreVideo -framework Metal -framework Cocoa -framework IOKit -framework QuartzCore -o $@
else
@echo metal is not supported on $(detected_OS)
endif
examples/minimal_links/minimal_links: examples/minimal_links/minimal_links.c RGFW.h $(WAYLAND_SOURCE)
ifeq ($(WAYLAND), 1)
@echo nostl is not supported on this platform
else ifneq (,$(filter $(CC),emcc em++))
@echo nostl is not supported on this platform
else ifeq ($(detected_OS),NetBSD)
$(CC) $(CFLAGS) $(CFLAGS) -pthread -I. $< -o $@$(EXT)
else ifeq ($(detected_OS),Linux)
$(CC) $(CFLAGS) -I. $< -lXrandr -lX11 -o $@$(EXT)
else ifeq ($(detected_OS),windows)
$(CC) $(CFLAGS) $(WARNINGS) -I. $< -lgdi32 -o $@$(EXT)
else ifeq ($(detected_OS),Darwin)
$(CC) $(CFLAGS) $(WARNINGS) -I. $< -framework CoreVideo -framework Cocoa -o $@$(EXT)
else
@echo minimal_links is not supported on this platform
endif
examples/nostl/nostl: examples/nostl/nostl.c RGFW.h $(WAYLAND_SOURCE)
ifeq ($(WAYLAND), 1)
@echo nostl is not supported on this platform
else ifneq (,$(filter $(CC),emcc em++))
@echo nostl is not supported on this platform
else ifeq ($(detected_OS),Linux)
$(CC) $(CFLAGS) -fno-stack-protector -lX11 -lXcursor -lGL -lXi -lXrandr -I. $< -o $@$(EXT)
else ifeq ($(detected_OS),windows)
$(CC) $(CFLAGS) $(WARNINGS) -I. $< -lkernel32 -lgdi32 -lshell32 -lUser32 -o $@$(EXT)
else ifeq ($(detected_OS),Darwin)
$(CC) $(CFLAGS) -fno-stack-protector $(WARNINGS) -I. $< -framework CoreVideo -framework Cocoa -o $@$(EXT)
else
@echo nostl is not supported on this platform
endif
examples/microui_demo/microui_demo: examples/microui_demo/microui_demo.c RGFW.h $(WAYLAND_SOURCE)
ifeq (,$(filter $(CC),emcc em++ g++ clang++))
$(CC) $(CFLAGS) -I. $< examples/microui_demo/microui.c $(LINK_GL1) $(LIBS) -o $@$(EXT)
else ifneq (,$(filter $(CC),em++ g++ clang++))
@echo microui demo not supported with C++
else
$(CC) $(CFLAGS) -I. $< examples/microui_demo/microui.c -s USE_WEBGL2 $(LIBS) $(LINK_GL1) -o $@$(EXT)
endif
examples/window_icons/icons: examples/window_icons/icons.c RGFW.h $(WAYLAND_SOURCE)
$(CC) $(CFLAGS) -I. $< $(LIBS) -lm $(LINK_GL1) -o $@$(EXT)
examples/mouse_icons/icons: examples/mouse_icons/icons.c RGFW.h $(WAYLAND_SOURCE)
$(CC) $(CFLAGS) -I. $< $(LIBS) -lm $(LINK_GL1) -o $@$(EXT)
examples/gamepad/gamepad: examples/gamepad/gamepad.c RGFW.h $(WAYLAND_SOURCE)
$(CC) $(CFLAGS) -I. $< $(LIBS) -lm $(LINK_GL1) -o $@$(EXT)
examples/first-person-camera/camera: examples/first-person-camera/camera.c RGFW.h $(WAYLAND_SOURCE)
$(CC) $(CFLAGS) -I. $< $(LIBS) -lm $(LINK_GL1) -o $@$(EXT)
examples/gl33/gl33: examples/gl33/gl33.c RGFW.h $(WAYLAND_SOURCE)
ifeq ($(WAYLAND), 1)
$(CC) $(CFLAGS) $(WARNINGS) -I. $< -lm $(LIBS) $(LINK_GL1) -lEGL -lwayland-egl -o $@$(EXT)
else ifeq ($(detected_OS),NetBSD)
$(CC) $(CFLAGS) $(WARNINGS) $(CFLAGS) -I. $< -lm -o $@$(EXT)
else ifeq ($(detected_OS),Linux)
$(CC) $(CFLAGS) $(WARNINGS) -I. $< -lm -o $@$(EXT)
else ifeq ($(detected_OS),windows)
$(CC) $(CFLAGS) $(WARNINGS) -I. $< -lgdi32 -D UNICODE -o $@$(EXT)
else ifeq ($(detected_OS),Darwin)
$(CC) $(CFLAGS) $(WARNINGS) -I. $< -framework CoreVideo -framework IOKit -framework Cocoa -o $@$(EXT)
else
$(CC) $(CFLAGS) $(WARNINGS) -I. $< $(LIBS) $(LINK_GL3) -o $@$(EXT)
endif
$(EXAMPLE_OUTPUTS): %: %.c RGFW.h $(WAYLAND_SOURCE)
$(CC) $(CFLAGS) $(WARNINGS) -I. $< $(LINK_GL1) $(LIBS) $($) -o $@$(EXT)
$(TEST_OUTPUTS): %: %.c RGFW.h $(WAYLAND_SOURCE)
$(CC) $(CFLAGS) $(WARNINGS) -I. $< $(LINK_GL1) $(LIBS) $($) -o $@$(EXT)
@for exe in $(TEST_OUTPUTS); do \
echo "Running $$exe..."; \
./$$exe$(EXT); \
done
debug: all
@for exe in $(EXAMPLE_OUTPUTS); do \
echo "Running $$exe..."; \
./$$exe$(EXT); \
done
./examples/gamepad/gamepad
./examples/first-person-camera/camera
./examples/portableGL/pgl$(EXT)
./examples/microui_demo/microui_demo
./examples/gl33/gl33$(EXT)
ifneq ($(NO_GLES), 1)
./examples/gles2/gles2$(EXT)
endif
ifneq ($(NO_OSMESA), 1)
./examples/osmesa_demo/osmesa_demo$(EXT)
endif
ifneq ($(NO_VULKAN), 1)
./examples/vk10/vk10$(EXT)
endif
ifeq ($(detected_OS), windows)
./examples/dx11/dx11.exe
endif
$(MAKE) clean
RGFW$(OBJ_FILE): RGFW.h $(WAYLAND_SOURCE)
#$(CC) -x c $(CUSTOM_CFLAGS) -c RGFW.h -D RGFW_IMPLEMENTATION -fPIC -D RGFW_EXPORT
cp RGFW.h RGFW.c
$(CC) $(CUSTOM_CFLAGS) -c RGFW.c -D RGFW_IMPLEMENTATION -fPIC -D RGFW_EXPORT
rm RGFW.c
libRGFW$(LIB_EXT): RGFW.h RGFW$(OBJ_FILE)
$(MAKE) RGFW$(OBJ_FILE)
ifeq ($(CC), cl)
link /DLL /OUT:libRGFW.dll RGFW.obj
else
$(CC) $(CUSTOM_CFLAGS) -shared RGFW$(OBJ_FILE) $(LIBS) -o libRGFW$(LIB_EXT)
endif
libRGFW.a: RGFW.h RGFW$(OBJ_FILE)
$(MAKE) RGFW$(OBJ_FILE)
$(AR) rcs libRGFW.a RGFW$(OBJ_FILE)
ifeq ($(WAYLAND),1)
$(WAYLAND_SOURCE): %.c:
$(MAKE) -f wayland.mk
endif
clean:
rm -f *.o *.obj *.dll .dylib *.a *.so $(EXAMPLE_OUTPUTS) $(EXAMPLE_OUTPUTS_CUSTOM) $(TEST_OUTPUTS) .$(OS_DIR)examples$(OS_DIR)*$(OS_DIR)*.exe .$(OS_DIR)examples$(OS_DIR)*$(OS_DIR)*.js .$(OS_DIR)examples$(OS_DIR)*$(OS_DIR)*.wasm .$(OS_DIR)examples$(OS_DIR)vk10$(OS_DIR)shaders$(OS_DIR)*.h
ifeq ($(WAYLAND),1)
$(MAKE) -f wayland.mk clean
endif
.PHONY: all examples clean

View File

@ -1,36 +0,0 @@
SYSTEM_WAYLAND := /usr/share/wayland-protocols
LOCAL_WAYLAND := ./deps/wayland
WAYLAND_PROTO := \
stable/xdg-shell/xdg-shell \
unstable/xdg-decoration/xdg-decoration-unstable-v1 \
staging/xdg-toplevel-icon/xdg-toplevel-icon-v1 \
unstable/relative-pointer/relative-pointer-unstable-v1 \
unstable/pointer-constraints/pointer-constraints-unstable-v1 \
unstable/xdg-output/xdg-output-unstable-v1 \
staging/pointer-warp/pointer-warp-v1 \
WAYLAND_HEADERS = $(addsuffix .h,$(WAYLAND_PROTO))
WAYLAND_SOURCE = $(addsuffix .c,$(WAYLAND_PROTO))
# if the file exists in $(SYSTEM_WAYLAND) exists, use it else use the one in $(LOCAL_WAYLAND) but without the extra path
define find_xml
$(if $(wildcard $(SYSTEM_WAYLAND)/$(1)),\
$(SYSTEM_WAYLAND)/$(1),\
$(LOCAL_WAYLAND)/$(notdir $(1)))
endef
all: $(WAYLAND_HEADERS) $(WAYLAND_SOURCE)
$(WAYLAND_HEADERS): %.h:
wayland-scanner client-header $(call find_xml,$(@:.h=.xml)) $(notdir $@)
$(WAYLAND_SOURCE): %.c:
wayland-scanner public-code $(call find_xml,$(@:.c=.xml)) $(notdir $@)
sources:
@echo $(notdir $(WAYLAND_SOURCE))
clean:
rm $(notdir $(WAYLAND_SOURCE)) $(notdir $(WAYLAND_HEADERS))