Makefile.minimal
author Alex Szpakowski <slime73@gmail.com>
Thu, 15 Jan 2015 01:06:14 -0400
branchiOS-improvements
changeset 9532 318042c16b76
parent 7667 be1cc6f55840
child 12130 24142c5073a4
permissions -rw-r--r--
Several improvements to the iOS backend:

- Added new custom launch screen code. It uses the launch screen nib when available on iOS 8+, the launch images dictionary if the launch screen nib isn't available, and the old standard image names if the launch image dictionary isn't in the plist.
The launch screen is now hidden during the first call to SDL_PumpEvents rather than SDL_CreateWindow so apps can have the launch screen still visible if they do time-consuming loading after creating their window. It also fades out in roughly the same way as the system launch screen behavior.
It can be disabled by setting the SDL_IPHONE_LAUNCHSCREEN define in SDL_config_iphoneos.h to 0.

- A blank UIView is now created and displayed when the window is first created. The old behavior was to defer creating any view until SDL_GL_CreateContext, which prevented rotation, touch events, and other windowing-related things from working until then. This also makes it easier to use SDL_GetWindowWMInfo after creating a window.

- Moved the keyboard and animation callback code from SDL's UIView subclasses to its UIViewController subclass, which lets them work properly in all cases when a SDL window is valid, even before SDL_GL_CreateContext is called and after SDL_GL_DeleteContext is called.

- SDL_GL_CreateContext, SDL_GL_SwapWindow, SDL_GL_MakeCurrent, and SDL_GL_DeleteContext are more robust.

- Fixed some edge cases where SDL windows weren't rotating properly or their reported sizes were out of sync with their actual sizes.

- Removed all calls to [UIApplication setStatusBarOrientation:]. It doesn't seem to work as expected in all cases in recent iOS versions.

- Some code style cleanup.
slouken@1484
     1
# Makefile to build the SDL library
slouken@1484
     2
slouken@1484
     3
INCLUDE = -I./include
slouken@1484
     4
CFLAGS  = -g -O2 $(INCLUDE)
slouken@1484
     5
AR	= ar
slouken@1484
     6
RANLIB	= ranlib
slouken@1484
     7
slouken@1484
     8
TARGET  = libSDL.a
slouken@1484
     9
SOURCES = \
slouken@1484
    10
	src/*.c \
slouken@1484
    11
	src/audio/*.c \
slouken@5310
    12
	src/audio/dummy/*.c \
slouken@1484
    13
	src/cpuinfo/*.c \
slouken@1484
    14
	src/events/*.c \
slouken@1484
    15
	src/file/*.c \
slouken@5310
    16
	src/haptic/*.c \
slouken@5310
    17
	src/haptic/dummy/*.c \
slouken@1484
    18
	src/joystick/*.c \
slouken@5310
    19
	src/joystick/dummy/*.c \
slouken@5310
    20
	src/loadso/dummy/*.c \
slouken@5310
    21
	src/power/*.c \
icculus@7667
    22
	src/filesystem/dummy/*.c \
slouken@5310
    23
	src/render/*.c \
slouken@5310
    24
	src/render/software/*.c \
slouken@1484
    25
	src/stdlib/*.c \
slouken@1484
    26
	src/thread/*.c \
slouken@5310
    27
	src/thread/generic/*.c \
slouken@1484
    28
	src/timer/*.c \
slouken@5310
    29
	src/timer/dummy/*.c \
slouken@1484
    30
	src/video/*.c \
slouken@1484
    31
	src/video/dummy/*.c \
slouken@1484
    32
slouken@1484
    33
OBJECTS = $(shell echo $(SOURCES) | sed -e 's,\.c,\.o,g')
slouken@1484
    34
slouken@1484
    35
all: $(TARGET)
slouken@1484
    36
slouken@5310
    37
$(TARGET): $(OBJECTS)
slouken@1484
    38
	$(AR) crv $@ $^
slouken@1484
    39
	$(RANLIB) $@
slouken@1484
    40
slouken@1484
    41
clean:
slouken@1484
    42
	rm -f $(TARGET) $(OBJECTS)