Allow setting a custom PLATFORM_SHELL

This commit is contained in:
raysan5 2022-02-12 19:31:27 +01:00
parent 6ef6dbff2d
commit 2f3fc41c33

View file

@ -114,6 +114,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
# ifeq ($(UNAME),Msys) -> Windows # ifeq ($(UNAME),Msys) -> Windows
ifeq ($(OS),Windows_NT) ifeq ($(OS),Windows_NT)
PLATFORM_OS = WINDOWS PLATFORM_OS = WINDOWS
ifndef PLATFORM_SHELL
PLATFORM_SHELL = cmd
endif
else else
UNAMEOS = $(shell uname) UNAMEOS = $(shell uname)
ifeq ($(UNAMEOS),Linux) ifeq ($(UNAMEOS),Linux)
@ -134,6 +137,9 @@ ifeq ($(PLATFORM),PLATFORM_DESKTOP)
ifeq ($(UNAMEOS),Darwin) ifeq ($(UNAMEOS),Darwin)
PLATFORM_OS = OSX PLATFORM_OS = OSX
endif endif
ifndef PLATFORM_SHELL
PLATFORM_SHELL = cmd
endif
endif endif
endif endif
ifeq ($(PLATFORM),PLATFORM_RPI) ifeq ($(PLATFORM),PLATFORM_RPI)
@ -141,21 +147,33 @@ ifeq ($(PLATFORM),PLATFORM_RPI)
ifeq ($(UNAMEOS),Linux) ifeq ($(UNAMEOS),Linux)
PLATFORM_OS = LINUX PLATFORM_OS = LINUX
endif endif
ifndef PLATFORM_SHELL
PLATFORM_SHELL = cmd
endif
endif endif
ifeq ($(PLATFORM),PLATFORM_DRM) ifeq ($(PLATFORM),PLATFORM_DRM)
UNAMEOS = $(shell uname) UNAMEOS = $(shell uname)
ifeq ($(UNAMEOS),Linux) ifeq ($(UNAMEOS),Linux)
PLATFORM_OS = LINUX PLATFORM_OS = LINUX
endif endif
ifndef PLATFORM_SHELL
PLATFORM_SHELL = cmd
endif
endif endif
ifeq ($(PLATFORM),PLATFORM_WEB) ifeq ($(PLATFORM),PLATFORM_WEB)
ifeq ($(OS),Windows_NT) ifeq ($(OS),Windows_NT)
PLATFORM_OS = WINDOWS PLATFORM_OS = WINDOWS
ifndef PLATFORM_SHELL
PLATFORM_SHELL = cmd
endif
else else
UNAMEOS = $(shell uname) UNAMEOS = $(shell uname)
ifeq ($(UNAMEOS),Linux) ifeq ($(UNAMEOS),Linux)
PLATFORM_OS = LINUX PLATFORM_OS = LINUX
endif endif
ifndef PLATFORM_SHELL
PLATFORM_SHELL = sh
endif
endif endif
endif endif
@ -739,22 +757,21 @@ else
@echo "Error: Root permissions needed for uninstallation. Try sudo make uninstall" @echo "Error: Root permissions needed for uninstallation. Try sudo make uninstall"
endif endif
.PHONY: clean_LINUX clean_WINDOWS clean_ANDROID clean_BSD clean_OSX .PHONY: clean_shell_cmd clean_shell_sh
# Clean everything # Clean everything
clean: clean_$(PLATFORM_OS) clean: clean_shell_$(PLATFORM_SHELL)
@echo "removed all generated files!" @echo "removed all generated files!"
clean_LINUX clean_BSD clean_OSX: clean_shell_sh:
rm -fv *.o $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).a $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).bc $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).so*
clean_ANDROID:
rm -fv *.o $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).a $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).bc $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).so* rm -fv *.o $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).a $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).bc $(RAYLIB_RELEASE_PATH)/lib$(RAYLIB_LIB_NAME).so*
ifeq ($(PLATFORM),PLATFORM_ANDROID)
rm -rf $(ANDROID_TOOLCHAIN) $(NATIVE_APP_GLUE)/android_native_app_glue.o rm -rf $(ANDROID_TOOLCHAIN) $(NATIVE_APP_GLUE)/android_native_app_glue.o
endif
# Set specific target variable # Set specific target variable
clean_WINDOWS: SHELL := cmd.exe clean_shell_cmd: SHELL=cmd
clean_WINDOWS: clean_shell_cmd:
del *.o /s del *.o /s
cd $(RAYLIB_RELEASE_PATH) & \ cd $(RAYLIB_RELEASE_PATH) & \
del lib$(RAYLIB_LIB_NAME).a /s & \ del lib$(RAYLIB_LIB_NAME).a /s & \