Changeset 3586 in kBuild
- Timestamp:
- Jan 26, 2023 2:27:05 PM (2 years ago)
- File:
-
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/kBuild/sdks/LIBSDL2.kmk
r3584 r3586 1 1 # $Id$ 2 2 ## @file 3 # kBuild SDK - Simple DirectMedia Layer , targeting $(KBUILD_TARGET).3 # kBuild SDK - Simple DirectMedia Layer v2.x, targeting $(KBUILD_TARGET). 4 4 # 5 5 6 6 # 7 # Copyright (c) 2006-20 17knut st. osmundsen <[email protected]>7 # Copyright (c) 2006-2023 knut st. osmundsen <[email protected]> 8 8 # 9 9 # This file is part of kBuild. … … 32 32 # 33 33 34 SDK_LIBSDL := Simple DirectMedia Layer, targeting $(KBUILD_TARGET).34 SDK_LIBSDL2 := Simple DirectMedia Layer v2.x, targeting $(KBUILD_TARGET). 35 35 36 36 # SDK Specific Properties 37 _SDK_LIBSD K_IS_FRAMEWORK := no38 ifndef PATH_SDK_LIBSDL 39 PATH_SDK_LIBSDL := $(wildcard $(KBUILD_DEVTOOLS_TRG)/libsdl/v*)40 ifeq ($(PATH_SDK_LIBSDL ),)41 PATH_SDK_LIBSDL := $(wildcard $(KBUILD_DEVTOOLS_BLD)/libsdl/v*)37 _SDK_LIBSDL2_IS_FRAMEWORK := no 38 ifndef PATH_SDK_LIBSDL2 39 PATH_SDK_LIBSDL2 := $(firstfile $(rsortfiles $(qwildcard ,$(KBUILD_DEVTOOLS_TRG)/libsdl2/v*))) 40 ifeq ($(PATH_SDK_LIBSDL2),) 41 PATH_SDK_LIBSDL2 := $(firstfile $(rsortfiles $(qwildcard ,$(KBUILD_DEVTOOLS_BLD)/libsdl2/v*))) 42 42 endif 43 ifneq ($(PATH_SDK_LIBSDL),) 44 PATH_SDK_LIBSDL := $(lastword $(sort $(PATH_SDK_LIBSDL))) 45 else 46 43 ifeq ($(PATH_SDK_LIBSDL2),) 47 44 # Darwin might have a framework for it. 48 45 ifeq ($(KBUILD_TARGET),darwin) 49 PATH_SDK_LIBSDL := $(firstword $(wildcard \50 /System/Library/Frameworks/SDL .framework/SDL\51 /Library/Frameworks/SDL .framework/SDL\46 PATH_SDK_LIBSDL2 := $(firstword $(wildcard \ 47 /System/Library/Frameworks/SDL2.framework/SDL2 \ 48 /Library/Frameworks/SDL2.framework/SDL2 \ 52 49 ) ) 53 ifneq ($(PATH_SDK_LIBSDL ),)54 PATH_SDK_LIBSDL := $(patsubst %/,%,$(dir $(PATH_SDK_LIBSDL)))55 _SDK_LIBSD K_IS_FRAMEWORK := yes50 ifneq ($(PATH_SDK_LIBSDL2),) 51 PATH_SDK_LIBSDL2 := $(patsubst %/,%,$(dir $(PATH_SDK_LIBSDL2))) 52 _SDK_LIBSDL2_IS_FRAMEWORK := yes 56 53 endif 57 54 endif 58 55 59 ifeq ($(PATH_SDK_LIBSDL ),)60 PATH_SDK_LIBSDL := $(firstword $(foreach root,$(KBUILD_LIB_SEARCH_ROOTS) \61 ,$(if $(wildcard $(addsuffix libSDL .*,$(addprefix $(root),$(KBUILD_LIB_SEARCH_SUBS)))),$(root),) ))62 ifeq ($(PATH_SDK_LIBSDL ),/)63 PATH_SDK_LIBSDL := /.64 else ifneq ($(PATH_SDK_LIBSDL ),)65 PATH_SDK_LIBSDL := $(patsubst %/,%,$(PATH_SDK_LIBSDL))56 ifeq ($(PATH_SDK_LIBSDL2),) 57 PATH_SDK_LIBSDL2 := $(firstword $(foreach root,$(KBUILD_LIB_SEARCH_ROOTS) \ 58 ,$(if $(wildcard $(addsuffix libSDL2.*,$(addprefix $(root),$(KBUILD_LIB_SEARCH_SUBS)))),$(root),) )) 59 ifeq ($(PATH_SDK_LIBSDL2),/) 60 PATH_SDK_LIBSDL2 := /. 61 else ifneq ($(PATH_SDK_LIBSDL2),) 62 PATH_SDK_LIBSDL2 := $(patsubst %/,%,$(PATH_SDK_LIBSDL2)) 66 63 else 67 $(warning kBuild: PATH_SDK_LIBSDL couldn't be determined!)68 PATH_SDK_LIBSDL := $(KBUILD_DEVTOOLS_TRG)/libsdl/not/found64 $(warning kBuild: PATH_SDK_LIBSDL2 couldn't be determined!) 65 PATH_SDK_LIBSDL2 := $(KBUILD_DEVTOOLS_TRG)/libsdl/not/found 69 66 endif 70 67 endif 71 68 endif 72 69 else 73 PATH_SDK_LIBSDL := $(PATH_SDK_LIBSDL)70 PATH_SDK_LIBSDL2 := $(PATH_SDK_LIBSDL2) 74 71 ifeq ($(KBUILD_TARGET),darwin) 75 72 # Check if it's the framework or not. 76 _SDK_LIBSD K_IS_FRAMEWORK := $(if $(wildcard $(PATH_SDK_LIBSDL)/Headers/SDL.h),yes)73 _SDK_LIBSDL2_IS_FRAMEWORK := $(if $(wildcard $(PATH_SDK_LIBSDL2)/Headers/SDL.h),yes) 77 74 endif 78 75 endif … … 82 79 # varies quite a bit, thus this kludge. 83 80 # 84 ifeq ($(KBUILD_TARGET),os2) 85 LIB_SDK_LIBSDL_SDLMAIN ?= 86 DLL_SDK_LIBSDL_SDL ?= $(PATH_SDK_LIBSDL)/SDL/SDL12.dll 87 DLL_SDK_LIBSDL_FSLIB ?= $(PATH_SDK_LIBSDL)/SDL/FSLib.dll 88 LIB_SDK_LIBSDL_SDL ?= $(PATH_SDK_LIBSDL)/SDL/SDL12.lib 89 LIB_SDK_LIBSDL_SDLGFX ?= $(PATH_SDK_LIBSDL)/SDLGfx/SDLGFX.lib 90 LIB_SDK_LIBSDL_SDLIMAGE ?= $(PATH_SDK_LIBSDL)/SDLImage/SDLIMAGE.lib 91 LIB_SDK_LIBSDL_SDLMIXER ?= $(PATH_SDK_LIBSDL)/SDLMixer/SDLMIXER.lib 92 LIB_SDK_LIBSDL_SDLNET ?= $(PATH_SDK_LIBSDL)/SDLNet/SDLNET.lib 93 LIB_SDK_LIBSDL_SDLTTF ?= $(PATH_SDK_LIBSDL)/SDLTTF/SDLTTF.lib 81 ifeq ($(KBUILD_TARGET),os2) ## @todo 82 LIB_SDK_LIBSDL2_SDLMAIN ?= 83 DLL_SDK_LIBSDL2_SDL ?= $(PATH_SDK_LIBSDL2)/dll/sdl2.dll 84 LIB_SDK_LIBSDL2_SDL ?= $(PATH_SDK_LIBSDL2)/lib/sdl2.lib 85 LIB_SDK_LIBSDL2_SDLIMAGE ?= $(PATH_SDK_LIBSDL2)/lib/sdl2img.lib 86 LIB_SDK_LIBSDL2_SDLMIXER ?= $(PATH_SDK_LIBSDL2)/lib/sdl2mix.lib 87 LIB_SDK_LIBSDL2_SDLTTF ?= $(PATH_SDK_LIBSDL2)/lib/sdl2ttf.lib 94 88 95 89 # General Properties used by kBuild 96 SDK_LIBSDL_INCS ?= \ 97 $(PATH_SDK_LIBSDL)/SDL/include \ 98 $(PATH_SDK_LIBSDL)/SDLGfx \ 99 $(PATH_SDK_LIBSDL)/SDLImage \ 100 $(PATH_SDK_LIBSDL)/SDLMixer \ 101 $(PATH_SDK_LIBSDL)/SDLNet \ 102 $(PATH_SDK_LIBSDL)/SDLTTF 103 SDK_LIBSDL_LIBS ?= \ 104 $(LIB_SDK_LIBSDL_SDL) 105 SDK_LIBSDL_LIBPATH ?= \ 106 $(PATH_SDK_LIBSDL)/SDL \ 107 $(PATH_SDK_LIBSDL)/SDLGfx \ 108 $(PATH_SDK_LIBSDL)/SDLImage \ 109 $(PATH_SDK_LIBSDL)/SDLMixer \ 110 $(PATH_SDK_LIBSDL)/SDLNet \ 111 $(PATH_SDK_LIBSDL)/SDLTTF 90 SDK_LIBSDL2_INCS ?= $(PATH_SDK_LIBSDL2)/h/SDL2 91 SDK_LIBSDL2_LIBS ?= $(LIB_SDK_LIBSDL2_SDL) 92 SDK_LIBSDL2_LIBPATH ?= $(PATH_SDK_LIBSDL2)/lib 112 93 113 94 else ifeq ($(KBUILD_TARGET),win) # ASSUMES VC++ on windows, sorry. 114 LIB_SDK_LIBSDL_SDLMAIN ?= $(PATH_SDK_LIBSDL)/lib/SDLmain.lib 115 LIB_SDK_LIBSDL_SDL ?= $(PATH_SDK_LIBSDL)/lib/SDL.lib 116 DLL_SDK_LIBSDL_SDL ?= $(PATH_SDK_LIBSDL)/lib/SDL.dll 117 LIB_SDK_LIBSDL_SDLGFX ?= $(PATH_SDK_LIBSDL)/lib/SDL_gfx.lib 118 LIB_SDK_LIBSDL_SDLIMAGE ?= $(PATH_SDK_LIBSDL)/lib/SDL_image.lib 119 LIB_SDK_LIBSDL_SDLMIXER ?= $(PATH_SDK_LIBSDL)/lib/SDL_mixer.lib 120 LIB_SDK_LIBSDL_SDLNET ?= $(PATH_SDK_LIBSDL)/lib/SDL_net.lib 121 LIB_SDK_LIBSDL_SDLTTF ?= $(PATH_SDK_LIBSDL)/lib/SDL_ttf.lib 122 DLL_SDK_LIBSDL_SDLTTF ?= $(PATH_SDK_LIBSDL)/lib/SDL_ttf.dll 95 include $(KBUILD_PATH)/win-common.kmk 96 LIB_SDK_LIBSDL2_SDLMAIN ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2main.lib 97 LIB_SDK_LIBSDL2_SDL ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2.lib 98 DLL_SDK_LIBSDL2_SDL ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2.dll 99 LIB_SDK_LIBSDL2_SDLTEST ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2test.lib 100 101 LIB_SDK_LIBSDL2_SDLGFX ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2test.lib 102 LIB_SDK_LIBSDL2_SDLIMAGE ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2_image.lib 103 LIB_SDK_LIBSDL2_SDLMIXER ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2_mixer.lib 104 LIB_SDK_LIBSDL2_SDLNET ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2_net.lib 105 LIB_SDK_LIBSDL2_SDLTTF ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2_ttf.lib 106 DLL_SDK_LIBSDL2_SDLTTF ?= $(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH))/SDL2_ttf.dll 123 107 124 108 # General Properties used by kBuild 125 SDK_LIBSDL_INCS ?= \ 126 $(PATH_SDK_LIBSDL)/include/SDL \ 127 $(PATH_SDK_LIBSDL)/include 128 SDK_LIBSDL_LIBS ?= \ 129 $(LIB_SDK_LIBSDL_SDL) 130 SDK_LIBSDL_LIBPATH ?= \ 131 $(PATH_SDK_LIBSDL)/lib 109 SDK_LIBSDL2_INCS ?= $(PATH_SDK_LIBSDL2)/include 110 SDK_LIBSDL2_LIBS ?= $(LIB_SDK_LIBSDL2_SDL) 111 SDK_LIBSDL2_LIBPATH ?= $(PATH_SDK_LIBSDL2)/$(PATH_SDK_LIBSDL2)/lib/$(WINCMN_MAP_ARCH.$(KBUILD_TARGET_ARCH)) 132 112 133 else ifeq ($(KBUILD_TARGET).$(_SDK_LIBSD K_IS_FRAMEWORK),darwin.yes)113 else ifeq ($(KBUILD_TARGET).$(_SDK_LIBSDL2_IS_FRAMEWORK),darwin.yes) 134 114 # darwin + framework 135 LIB_SDK_LIBSDL _SDLMAIN ?= $(NO_SUCH_VARIABLE)136 LIB_SDK_LIBSDL _SDL ?= $(NO_SUCH_VARIABLE)137 LIB_SDK_LIBSDL _SDLGFX ?= $(NO_SUCH_VARIABLE)138 LIB_SDK_LIBSDL _SDLIMAGE ?= $(NO_SUCH_VARIABLE)139 LIB_SDK_LIBSDL _SDLMIXER ?= $(NO_SUCH_VARIABLE)140 LIB_SDK_LIBSDL _SDLNET ?= $(NO_SUCH_VARIABLE)141 LIB_SDK_LIBSDL _SDLTTF ?= $(NO_SUCH_VARIABLE)115 LIB_SDK_LIBSDL2_SDLMAIN ?= $(NO_SUCH_VARIABLE) 116 LIB_SDK_LIBSDL2_SDL ?= $(NO_SUCH_VARIABLE) 117 LIB_SDK_LIBSDL2_SDLGFX ?= $(NO_SUCH_VARIABLE) 118 LIB_SDK_LIBSDL2_SDLIMAGE ?= $(NO_SUCH_VARIABLE) 119 LIB_SDK_LIBSDL2_SDLMIXER ?= $(NO_SUCH_VARIABLE) 120 LIB_SDK_LIBSDL2_SDLNET ?= $(NO_SUCH_VARIABLE) 121 LIB_SDK_LIBSDL2_SDLTTF ?= $(NO_SUCH_VARIABLE) 142 122 143 123 # General Properties used by kBuild 144 SDK_LIBSDL _INCS ?= $(PATH_SDK_LIBSDL)/Headers145 SDK_LIBSDL _LDFLAGS ?= -framework SDL124 SDK_LIBSDL2_INCS ?= $(PATH_SDK_LIBSDL2)/Headers 125 SDK_LIBSDL2_LDFLAGS ?= -framework SDL 146 126 147 127 else # ASSUMES Unix like system 148 LIB_SDK_LIBSDL _SDLMAIN ?= SDLmain149 LIB_SDK_LIBSDL _SDL ?= SDL150 LIB_SDK_LIBSDL _SDLGFX ?= SDL_gfx151 LIB_SDK_LIBSDL _SDLIMAGE ?= SDL_image152 LIB_SDK_LIBSDL _SDLMIXER ?= SDL_mixer153 LIB_SDK_LIBSDL _SDLNET ?= SDL_net154 LIB_SDK_LIBSDL _SDLTTF ?= SDL_ttf128 LIB_SDK_LIBSDL2_SDLMAIN ?= SDL2main 129 LIB_SDK_LIBSDL2_SDL ?= SDL2 130 LIB_SDK_LIBSDL2_SDLGFX ?= SDL2_gfx 131 LIB_SDK_LIBSDL2_SDLIMAGE ?= SDL2_image 132 LIB_SDK_LIBSDL2_SDLMIXER ?= SDL2_mixer 133 LIB_SDK_LIBSDL2_SDLNET ?= SDL2_net 134 LIB_SDK_LIBSDL2_SDLTTF ?= SDL2_ttf 155 135 156 136 # General Properties used by kBuild 157 ifndef SDK_LIBSDL _INCS158 ifneq ($(wildcard $(PATH_SDK_LIBSDL )/include/SDL/),)159 SDK_LIBSDL _INCS := $(PATH_SDK_LIBSDL)/include/SDL137 ifndef SDK_LIBSDL2_INCS 138 ifneq ($(wildcard $(PATH_SDK_LIBSDL2)/include/SDL/),) 139 SDK_LIBSDL2_INCS := $(PATH_SDK_LIBSDL2)/include/SDL2 160 140 else 161 SDK_LIBSDL _INCS := $(PATH_SDK_LIBSDL)/include141 SDK_LIBSDL2_INCS := $(PATH_SDK_LIBSDL2)/include 162 142 endif 163 143 endif 164 SDK_LIBSDL_LIBS ?= \ 165 $(LIB_SDK_LIBSDL_SDL) 166 SDK_LIBSDL_LIBPATH ?= \ 167 $(PATH_SDK_LIBSDL)/lib 144 SDK_LIBSDL2_LIBS ?= $(LIB_SDK_LIBSDL2_SDL) 145 SDK_LIBSDL2_LIBPATH ?= $(PATH_SDK_LIBSDL2)/lib 168 146 endif 147
Note:
See TracChangeset
for help on using the changeset viewer.