Makefile.os2 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. # Open Watcom makefile to build SDL2.dll for OS/2:
  2. # wmake -f Makefile.os2
  3. LIBNAME = SDL2
  4. VERSION = 2.0.9
  5. DESCRIPTION = Simple DirectMedia Layer 2
  6. LIBHOME = .
  7. LIBPATH = $(LIBHOME)/lib
  8. DLLFILE = $(LIBHOME)/$(LIBNAME).dll
  9. LIBFILE = $(LIBHOME)/$(LIBNAME).lib
  10. LNKFILE = $(LIBNAME).lnk
  11. INCPATH = -I"$(%WATCOM)/h/os2" -I"$(%WATCOM)/h"
  12. INCPATH+= -I"$(LIBHOME)/h"
  13. INCPATH+= -Iinclude
  14. LIBS = mmpm2.lib libuls.lib libconv.lib
  15. CFLAGS = -bt=os2 -d0 -q -bm -5s -fp5 -fpi87 -sg -oteanbmier -ei
  16. # max warnings:
  17. CFLAGS+= -wx
  18. # building dll:
  19. CFLAGS+= -bd
  20. # the include paths :
  21. CFLAGS+= $(INCPATH)
  22. # building SDL itself:
  23. CFLAGS+= -DBUILD_SDL
  24. SRCS = SDL.c SDL_assert.c SDL_error.c SDL_log.c SDL_dataqueue.c SDL_hints.c
  25. SRCS+= SDL_getenv.c SDL_iconv.c SDL_malloc.c SDL_qsort.c SDL_stdlib.c SDL_string.c
  26. SRCS+= SDL_cpuinfo.c SDL_atomic.c SDL_spinlock.c SDL_thread.c SDL_timer.c
  27. SRCS+= SDL_rwops.c SDL_power.c
  28. SRCS+= SDL_audio.c SDL_audiocvt.c SDL_audiodev.c SDL_audiotypecvt.c SDL_mixer.c SDL_wave.c
  29. SRCS+= SDL_events.c SDL_quit.c SDL_keyboard.c SDL_mouse.c SDL_windowevents.c &
  30. SDL_clipboardevents.c SDL_dropevents.c SDL_displayevents.c SDL_gesture.c &
  31. SDL_sensor.c SDL_touch.c
  32. SRCS+= SDL_haptic.c SDL_gamecontroller.c SDL_joystick.c
  33. SRCS+= SDL_render.c yuv_rgb.c SDL_yuv.c SDL_yuv_sw.c SDL_blendfillrect.c &
  34. SDL_blendline.c SDL_blendpoint.c SDL_drawline.c SDL_drawpoint.c &
  35. SDL_render_sw.c SDL_rotate.c
  36. SRCS+= SDL_blit.c SDL_blit_0.c SDL_blit_1.c SDL_blit_A.c SDL_blit_auto.c &
  37. SDL_blit_copy.c SDL_blit_N.c SDL_blit_slow.c SDL_fillrect.c SDL_bmp.c &
  38. SDL_pixels.c SDL_rect.c SDL_RLEaccel.c SDL_shape.c SDL_stretch.c &
  39. SDL_surface.c SDL_video.c SDL_clipboard.c SDL_vulkan_utils.c SDL_egl.c
  40. SRCS+= SDL_syscond.c SDL_sysmutex.c SDL_syssem.c SDL_systhread.c SDL_systls.c
  41. SRCS+= SDL_systimer.c
  42. SRCS+= SDL_sysloadso.c
  43. SRCS+= SDL_sysfilesystem.c
  44. SRCS+= SDL_syshaptic.c SDL_sysjoystick.c
  45. SRCS+= SDL_dummyaudio.c SDL_diskaudio.c
  46. SRCS+= SDL_nullvideo.c SDL_nullframebuffer.c SDL_nullevents.c
  47. SRCS+= SDL_dummysensor.c
  48. SRCS+= SDL_dynapi.c
  49. OBJS = $(SRCS:.c=.obj)
  50. .extensions:
  51. .extensions: .lib .dll .obj .c .asm
  52. .c: ./src;./src/dynapi;./src/audio;./src/cpuinfo;./src/events;./src/file;./src/haptic;./src/joystick;./src/power;./src/render;./src/render/software;./src/sensor;./src/stdlib;./src/thread;./src/timer;./src/video;./src/video/yuv2rgb;./src/atomic;./src/audio/disk;
  53. .c: ./src/haptic/dummy;./src/joystick/dummy;./src/audio/dummy;./src/video/dummy;./src/sensor/dummy;
  54. .c: ./src/loadso/dummy;./src/filesystem/dummy;./src/timer/dummy;./src/thread/generic;
  55. all: $(DLLFILE) $(LIBFILE) .symbolic
  56. $(DLLFILE): $(OBJS) $(LNKFILE)
  57. @echo * Linking: $@
  58. wlink @$(LNKFILE)
  59. $(LIBFILE): $(DLLFILE)
  60. @echo * Creating LIB file: $@
  61. wlib -q -b -n -c -pa -s -t -zld -ii -io $* $(DLLFILE)
  62. .c.obj:
  63. wcc386 $(CFLAGS) -fo=$^@ $<
  64. SDL_cpuinfo.obj: SDL_cpuinfo.c
  65. wcc386 $(CFLAGS) -wcd=200 -fo=$^@ $<
  66. SDL_rwops.obj: SDL_rwops.c
  67. wcc386 $(CFLAGS) -wcd=136 -fo=$^@ $<
  68. SDL_blendfillrect.obj: SDL_blendfillrect.c
  69. wcc386 $(CFLAGS) -wcd=200 -fo=$^@ $<
  70. SDL_blendline.obj: SDL_blendline.c
  71. wcc386 $(CFLAGS) -wcd=200 -fo=$^@ $<
  72. SDL_blendpoint.obj: SDL_blendpoint.c
  73. wcc386 $(CFLAGS) -wcd=200 -fo=$^@ $<
  74. SDL_RLEaccel.obj: SDL_RLEaccel.c
  75. wcc386 $(CFLAGS) -wcd=201 -fo=$^@ $<
  76. $(LNKFILE):
  77. @echo * Creating linker file: $@
  78. @%create $@
  79. @%append $@ SYSTEM os2v2_dll INITINSTANCE TERMINSTANCE
  80. @%append $@ NAME $(DLLFILE)
  81. @for %i in ($(OBJS)) do @%append $@ FILE %i
  82. @%append $@ LIBPATH $(%LIB);$(LIBPATH)
  83. @for %i in ($(LIBS)) do @%append $@ LIB %i
  84. @%append $@ OPTION QUIET
  85. @%append $@ OPTION IMPF=$(LIBHOME)/$^&.exp
  86. @%append $@ OPTION MAP=$(LIBHOME)/$^&.map
  87. @%append $@ OPTION DESCRIPTION '@$#libsdl org:$(VERSION)$#@$(DESCRIPTION)'
  88. @%append $@ OPTION QUIET
  89. @%append $@ OPTION ELIMINATE
  90. @%append $@ OPTION MANYAUTODATA
  91. @%append $@ OPTION OSNAME='OS/2 and eComStation'
  92. @%append $@ OPTION SHOWDEAD
  93. clean: .SYMBOLIC
  94. @ echo * Clean: $(LIBNAME)
  95. @if exist *.obj rm *.obj
  96. @if exist *.err rm *.err
  97. @if exist $(LNKFILE) rm $(LNKFILE)
  98. distclean: .SYMBOLIC clean
  99. @if exist $(LIBHOME)/*.exp rm $(LIBHOME)/*.exp
  100. @if exist $(LIBHOME)/*.map rm $(LIBHOME)/*.map
  101. @if exist $(LIBFILE) rm $(LIBFILE)
  102. @if exist $(DLLFILE) rm $(DLLFILE)