Subversion Repositories Kolibri OS

Rev

Rev 9561 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
8209 maxcodehac 1
CC = kos32-gcc
2
AR = kos32-ar
8758 turbocat 3
LD = kos32-ld
4
STRIP = kos32-strip
9789 turbocat 5
NASM = nasm
8648 turbocat 6
 
8758 turbocat 7
LIBNAME=libSDL
8648 turbocat 8
 
8209 maxcodehac 9
SDK_DIR:= $(abspath ../../..)
8758 turbocat 10
 
11
LDFLAGS+= -shared -s -T dll.lds --entry _DllStartup --image-base=0 --out-implib $(LIBNAME).dll.a
9561 turbocat 12
LDFLAGS+= -L../../../lib
8758 turbocat 13
 
8209 maxcodehac 14
endian_OBJS = endian/SDL_endian.o
15
file_OBJS = file/SDL_rwops.o
16
 
17
hermes_OBJS = hermes/mmxp2_32.o hermes/mmx_main.o hermes/x86p_16.o \
18
        hermes/x86p_32.o hermes/x86_main.o
19
 
20
thread_OBJS = thread/SDL_syscond.o thread/SDL_sysmutex.o thread/SDL_syssem.o \
21
        thread/SDL_systhread.o thread/SDL_thread.o
22
timer_OBJS = timer/SDL_timer.o timer/dummy/SDL_systimer.o
23
event_OBJS = events/SDL_active.o events/SDL_events.o events/SDL_expose.o \
24
        events/SDL_keyboard.o events/SDL_mouse.o events/SDL_quit.o \
25
        events/SDL_resize.o
26
video_OBJS = video/SDL_blit_0.o video/SDL_blit_1.o video/SDL_blit_A.o \
27
        video/SDL_blit.o video/SDL_blit_N.o video/SDL_bmp.o \
28
        video/SDL_cursor.o video/SDL_gamma.o video/SDL_pixels.o \
29
        video/SDL_RLEaccel.o video/SDL_stretch.o video/SDL_surface.o \
30
        video/SDL_video.o video/SDL_yuv.o video/SDL_yuv_mmx.o \
9789 turbocat 31
        video/SDL_yuv_sw.o video/kolibrios/SDL_kolibri_events.o \
32
        video/kolibrios/SDL_kolibri_video.o
9561 turbocat 33
audio_OBJS = audio/SDL_kolibri_audio.o audio/SDL_audiocvt.o audio/SDL_mixer.o audio/SDL_wave.o
8209 maxcodehac 34
 
35
curr_OBJS = SDL.o SDL_error.o SDL_fatal.o SDL_getenv.o
36
 
37
OBJS = $(endian_OBJS) $(file_OBJS) $(hermes_OBJS) $(thread_OBJS) \
38
        $(timer_OBJS) $(event_OBJS) $(video_OBJS) $(curr_OBJS) $(audio_OBJS)
39
 
9561 turbocat 40
CFLAGS = -c -O2 -mpreferred-stack-boundary=2 -fno-ident -fomit-frame-pointer -fno-stack-check \
41
        -fno-stack-protector -mno-stack-arg-probe -fno-exceptions -fno-asynchronous-unwind-tables \
42
        -ffast-math -mno-ms-bitfields -march=pentium-mmx  -fexpensive-optimizations \
43
        -D_REENTRANT -I../include -I SYSCALL/include -I. -DPACKAGE=\"SDL\" -DVERSION=\"1.2.2\" \
44
        -Wall -DENABLE_AUDIO -UDISABLE_AUDIO -DDISABLE_JOYSTICK \
8209 maxcodehac 45
        -DDISABLE_CDROM -DDISABLE_THREADS -DENABLE_TIMERS \
46
        -DUSE_ASMBLIT -Ihermes -Iaudio -Ivideo -Ievents \
8218 maxcodehac 47
        -Ijoystick -Icdrom -Ithread -Itimer -Iendian -Ifile -DENABLE_KOLIBRIOS \
8209 maxcodehac 48
        -DNO_SIGNAL_H -DDISABLE_STDIO -DNEED_SDL_GETENV -DENABLE_FILE -UDISABLE_FILE \
8218 maxcodehac 49
        -D__KOLIBRIOS__ -DDEBUG_VIDEO -UWIN32 -U_Win32 -U_WIN32 -U__MINGW32__ \
8209 maxcodehac 50
        -I../../newlib/libc/include/
51
 
9561 turbocat 52
all:  $(LIBNAME).a $(LIBNAME).dll
8758 turbocat 53
 
8648 turbocat 54
install: $(LIBNAME)
55
	mv -f $(LIBNAME) $(SDK_DIR)/lib
8209 maxcodehac 56
 
8758 turbocat 57
$(LIBNAME).a: $(OBJS)
9789 turbocat 58
	$(AR) -crs  ../../../lib/$(LIBNAME).a $(OBJS)
8758 turbocat 59
 
9561 turbocat 60
$(LIBNAME).dll: $(OBJS)
9789 turbocat 61
	$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -ldll -lsound -lc.dll
9561 turbocat 62
	$(STRIP) -S $@
8758 turbocat 63
 
64
 
8209 maxcodehac 65
%.o : %.asm Makefile
9789 turbocat 66
	$(NASM) -Ihermes -f coff $<
8209 maxcodehac 67
 
68
%.o : %.c Makefile
69
	$(CC) $(CFLAGS) -o $@ $<
70
 
71
clean:
9789 turbocat 72
	rm -f $(OBJS)