Makefile.ds
author Sam Lantinga <slouken@libsdl.org>
Wed, 16 Feb 2011 02:37:09 -0800
changeset 5310 a9945ce48999
parent 5301 248c5c7d6e29
child 5423 b69fa50e80d7
permissions -rw-r--r--
Made it possible to build SDL from a fresh checkout without any additional steps.

The trick is that if you're using configure and you don't want to have SDL_config.h and SDL_revision.h to show up as modified, you need to configure and build from a separate directory.

You also need to include SDL_revision.h directly if you want to use the SDL_REVISION constant, as a side effect of these changes.
     1 
     2 #LibSDL 1.3 porting and enhancements by Darren Alton (lifning)
     3 #LibSDL 1.2.9 DS porting by Troy Davis(GPF)
     4 
     5 ifeq ($(strip $(DEVKITPRO)),)
     6 $(error "Please set DEVKITPRO in your environment (available from http://www.devkitpro.org). export DEVKITPRO=<path to>devkitPro")
     7 endif
     8 ifeq ($(strip $(DEVKITARM)),)
     9 DEVKITARM = $(DEVKITPRO)/devkitARM
    10 endif
    11 PATH := $(PATH):$(DEVKITARM)/bin
    12 
    13 CC = arm-eabi-gcc
    14 AR = arm-eabi-ar
    15 RANLIB = arm-eabi-ranlib
    16 
    17 #ifdef GL
    18 #DEFS += -DSDL_VIDEO_OPENGL=1
    19 #TARGET = libSDL_gl.a
    20 #else
    21 TARGET = libSDL.a
    22 #endif
    23 
    24 #CFLAGS=$(DEFS) -Iinclude
    25 CFLAGS	=	-mthumb -mthumb-interwork \
    26 		-march=armv5te -mtune=arm946e-s \
    27 		-O2 -Wall -Wwrite-strings -Wpointer-arith  \
    28 		-DARM9 -D__NDS__ -I$(DEVKITPRO)/libnds/include -DENABLE_NDS -DNO_SIGNAL_H -DDISABLE_THREADS -DPACKAGE=\"SDL\" -DVERSION=\"1.3\" -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -Iinclude
    29 
    30 #src/audio/disk/SDL_diskaudio.c \
    31 #src/audio/dummy/SDL_dummyaudio.c \
    32 
    33 SRCS = \
    34 src/SDL.c \
    35 src/SDL_assert.c \
    36 src/SDL_compat.c \
    37 src/SDL_error.c \
    38 src/SDL_fatal.c \
    39 src/SDL_hints.c \
    40 src/SDL_log.c \
    41 src/atomic/SDL_atomic.c \
    42 src/atomic/SDL_spinlock.c \
    43 src/audio/SDL_audio.c \
    44 src/audio/SDL_audiocvt.c \
    45 src/audio/SDL_audiodev.c \
    46 src/audio/SDL_audiotypecvt.c \
    47 src/audio/SDL_mixer.c \
    48 src/audio/SDL_mixer_MMX.c \
    49 src/audio/SDL_mixer_MMX_VC.c \
    50 src/audio/SDL_mixer_m68k.c \
    51 src/audio/SDL_wave.c \
    52 src/audio/nds/SDL_ndsaudio.c \
    53 src/cpuinfo/SDL_cpuinfo.c \
    54 src/events/SDL_events.c \
    55 src/events/SDL_keyboard.c \
    56 src/events/SDL_mouse.c \
    57 src/events/SDL_quit.c \
    58 src/events/SDL_touch.c \
    59 src/events/SDL_windowevents.c \
    60 src/events/nds/SDL_ndsgesture.c \
    61 src/file/SDL_rwops.c \
    62 src/haptic/SDL_haptic.c \
    63 src/haptic/nds/SDL_syshaptic.c \
    64 src/joystick/SDL_joystick.c \
    65 src/joystick/nds/SDL_sysjoystick.c \
    66 src/power/SDL_power.c \
    67 src/power/nds/SDL_syspower.c \
    68 src/render/SDL_render.c \
    69 src/render/SDL_yuv_sw.c \
    70 src/render/software/SDL_render_sw.c \
    71 src/render/software/SDL_blendpoint.c \
    72 src/render/software/SDL_drawline.c \
    73 src/render/software/SDL_blendline.c \
    74 src/render/software/SDL_blendfillrect.c \
    75 src/render/software/SDL_drawpoint.c \
    76 src/stdlib/SDL_getenv.c \
    77 src/stdlib/SDL_iconv.c \
    78 src/stdlib/SDL_malloc.c \
    79 src/stdlib/SDL_qsort.c \
    80 src/stdlib/SDL_stdlib.c \
    81 src/stdlib/SDL_string.c \
    82 src/thread/SDL_thread.c \
    83 src/thread/nds/SDL_syscond.c \
    84 src/thread/nds/SDL_sysmutex.c \
    85 src/thread/nds/SDL_syssem.c \
    86 src/thread/nds/SDL_systhread.c \
    87 src/timer/SDL_timer.c \
    88 src/timer/nds/SDL_systimer.c \
    89 src/video/SDL_RLEaccel.c \
    90 src/video/SDL_blit.c \
    91 src/video/SDL_blit_0.c \
    92 src/video/SDL_blit_1.c \
    93 src/video/SDL_blit_A.c \
    94 src/video/SDL_blit_N.c \
    95 src/video/SDL_blit_auto.c \
    96 src/video/SDL_blit_copy.c \
    97 src/video/SDL_blit_slow.c \
    98 src/video/SDL_bmp.c \
    99 src/video/SDL_fillrect.c \
   100 src/video/SDL_pixels.c \
   101 src/video/SDL_rect.c \
   102 src/video/SDL_stretch.c \
   103 src/video/SDL_surface.c \
   104 src/video/SDL_video.c \
   105 src/video/dummy/SDL_nullevents.c \
   106 src/video/dummy/SDL_nullvideo.c \
   107 src/video/nds/SDL_ndsevents.c \
   108 src/video/nds/SDL_ndsrender.c \
   109 src/video/nds/SDL_ndsvideo.c \
   110 
   111 OBJS = $(SRCS:.c=.o)
   112 
   113 TEST = \
   114 test/nds-test-progs/general/general.nds \
   115 test/nds-test-progs/sprite/sprite.nds \
   116 test/nds-test-progs/sprite2/sprite2.nds \
   117 
   118 
   119 all: $(TARGET) install nds_test
   120 
   121 # That file must be compiled in arm mode, not thumb mode.
   122 src/atomic/SDL_spinlock.o: src/atomic/SDL_spinlock.c
   123 	$(CC) $(CFLAGS) -mno-thumb -o $@ -c $^
   124 
   125 $(TARGET): $(OBJS)
   126 	$(AR) rc $(TARGET) $(OBJS)
   127 	-@ ($(RANLIB) $@ || true) >/dev/null 2>&1
   128 
   129 install: $(TARGET)
   130 	@cp libSDL.a $(DEVKITPRO)/libnds/lib/
   131 	@mkdir -p $(DEVKITPRO)/libnds/include/SDL/
   132 	@cp include/*.h $(DEVKITPRO)/libnds/include/SDL/
   133 
   134 nds_test:
   135 	$(MAKE) -C test/nds-test-progs/general
   136 #	$(MAKE) -C test/nds-test-progs/sprite
   137 #	$(MAKE) -C test/nds-test-progs/sprite2
   138 
   139 clean:
   140 	rm -f $(OBJS)