Subversion Repositories Kolibri OS

Rev

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

  1. CC = kos32-gcc
  2. AR = kos32-ar
  3. LD = kos32-ld
  4. STRIP = kos32-strip
  5. NASM = nasm
  6.  
  7. LIBNAME=libSDL
  8.  
  9. SDK_DIR:= $(abspath ../../..)
  10.  
  11. LDFLAGS+= -shared -s -T dll.lds --entry _DllStartup --image-base=0 --out-implib $(LIBNAME).dll.a
  12. LDFLAGS+= -L../../../lib
  13.  
  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 \
  31.         video/SDL_yuv_sw.o video/kolibrios/SDL_kolibri_events.o \
  32.         video/kolibrios/SDL_kolibri_video.o
  33. audio_OBJS = audio/SDL_kolibri_audio.o audio/SDL_audiocvt.o audio/SDL_mixer.o audio/SDL_wave.o
  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.  
  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 \
  45.         -DDISABLE_CDROM -DDISABLE_THREADS -DENABLE_TIMERS \
  46.         -DUSE_ASMBLIT -Ihermes -Iaudio -Ivideo -Ievents \
  47.         -Ijoystick -Icdrom -Ithread -Itimer -Iendian -Ifile -DENABLE_KOLIBRIOS \
  48.         -DNO_SIGNAL_H -DDISABLE_STDIO -DNEED_SDL_GETENV -DENABLE_FILE -UDISABLE_FILE \
  49.         -D__KOLIBRIOS__ -DDEBUG_VIDEO -UWIN32 -U_Win32 -U_WIN32 -U__MINGW32__ \
  50.         -I../../newlib/libc/include/
  51.  
  52. all:  $(LIBNAME).a $(LIBNAME).dll
  53.  
  54. install: $(LIBNAME)
  55.         mv -f $(LIBNAME) $(SDK_DIR)/lib  
  56.  
  57. $(LIBNAME).a: $(OBJS)
  58.         $(AR) -crs  ../../../lib/$(LIBNAME).a $(OBJS)
  59.  
  60. $(LIBNAME).dll: $(OBJS)
  61.         $(LD) $(LDFLAGS) -o $@ $(OBJS) $(LIBS) -ldll -lsound -lc.dll
  62.         $(STRIP) -S $@
  63.  
  64.        
  65. %.o : %.asm Makefile
  66.         $(NASM) -Ihermes -f coff $<
  67.  
  68. %.o : %.c Makefile
  69.         $(CC) $(CFLAGS) -o $@ $<
  70.  
  71. clean:
  72.         rm -f $(OBJS)