Makefile.os2
changeset 12373 8feb5da6f2fb
parent 12331 43d46306c3ba
child 12419 8fd9d8eeb968
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/Makefile.os2	Tue Oct 30 20:11:02 2018 +0300
     1.3 @@ -0,0 +1,126 @@
     1.4 +# Open Watcom makefile to build SDL2.dll for OS/2:
     1.5 +# wmake -f Makefile.os2
     1.6 +
     1.7 +LIBNAME = SDL2
     1.8 +VERSION = 2.0.9
     1.9 +DESCRIPTION = Simple DirectMedia Layer 2
    1.10 +
    1.11 +LIBHOME = .
    1.12 +LIBPATH = $(LIBHOME)/lib
    1.13 +DLLFILE = $(LIBHOME)/$(LIBNAME).dll
    1.14 +LIBFILE = $(LIBHOME)/$(LIBNAME).lib
    1.15 +LNKFILE = $(LIBNAME).lnk
    1.16 +
    1.17 +INCPATH = -I"$(%WATCOM)/h/os2" -I"$(%WATCOM)/h"
    1.18 +INCPATH+= -I"$(LIBHOME)/h"
    1.19 +INCPATH+= -Iinclude
    1.20 +
    1.21 +LIBS = mmpm2.lib libuls.lib libconv.lib
    1.22 +
    1.23 +CFLAGS = -bt=os2 -d0 -q -bm -5s -fp5 -fpi87 -sg -oteanbmier -ei
    1.24 +# max warnings:
    1.25 +CFLAGS+= -wx
    1.26 +# building dll:
    1.27 +CFLAGS+= -bd
    1.28 +# the include paths :
    1.29 +CFLAGS+= $(INCPATH)
    1.30 +# building SDL itself:
    1.31 +CFLAGS+= -DBUILD_SDL
    1.32 +
    1.33 +SRCS = SDL.c SDL_assert.c SDL_error.c SDL_log.c SDL_dataqueue.c SDL_hints.c
    1.34 +SRCS+= SDL_getenv.c SDL_iconv.c SDL_malloc.c SDL_qsort.c SDL_stdlib.c SDL_string.c
    1.35 +SRCS+= SDL_cpuinfo.c SDL_atomic.c SDL_spinlock.c SDL_thread.c SDL_timer.c
    1.36 +SRCS+= SDL_rwops.c SDL_power.c
    1.37 +SRCS+= SDL_audio.c SDL_audiocvt.c SDL_audiodev.c SDL_audiotypecvt.c SDL_mixer.c SDL_wave.c
    1.38 +SRCS+= SDL_events.c SDL_quit.c SDL_keyboard.c SDL_mouse.c SDL_windowevents.c &
    1.39 +       SDL_clipboardevents.c SDL_dropevents.c SDL_displayevents.c SDL_gesture.c &
    1.40 +       SDL_sensor.c SDL_touch.c
    1.41 +SRCS+= SDL_haptic.c SDL_gamecontroller.c SDL_joystick.c
    1.42 +SRCS+= SDL_render.c yuv_rgb.c SDL_yuv.c SDL_yuv_sw.c SDL_blendfillrect.c &
    1.43 +       SDL_blendline.c SDL_blendpoint.c SDL_drawline.c SDL_drawpoint.c &
    1.44 +       SDL_render_sw.c SDL_rotate.c
    1.45 +SRCS+= SDL_blit.c SDL_blit_0.c SDL_blit_1.c SDL_blit_A.c SDL_blit_auto.c &
    1.46 +       SDL_blit_copy.c SDL_blit_N.c SDL_blit_slow.c SDL_fillrect.c SDL_bmp.c &
    1.47 +       SDL_pixels.c SDL_rect.c SDL_RLEaccel.c SDL_shape.c SDL_stretch.c &
    1.48 +       SDL_surface.c SDL_video.c SDL_clipboard.c SDL_vulkan_utils.c SDL_egl.c
    1.49 +
    1.50 +SRCS+= SDL_syscond.c SDL_sysmutex.c SDL_syssem.c SDL_systhread.c SDL_systls.c
    1.51 +SRCS+= SDL_systimer.c
    1.52 +SRCS+= SDL_sysloadso.c
    1.53 +SRCS+= SDL_sysfilesystem.c
    1.54 +SRCS+= SDL_syshaptic.c SDL_sysjoystick.c
    1.55 +SRCS+= SDL_dummyaudio.c SDL_diskaudio.c
    1.56 +SRCS+= SDL_nullvideo.c SDL_nullframebuffer.c SDL_nullevents.c
    1.57 +SRCS+= SDL_dummysensor.c
    1.58 +
    1.59 +SRCS+= SDL_dynapi.c
    1.60 +
    1.61 +OBJS = $(SRCS:.c=.obj)
    1.62 +
    1.63 +.extensions:
    1.64 +.extensions: .lib .dll .obj .c .asm
    1.65 +
    1.66 +.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;
    1.67 +.c: ./src/haptic/dummy;./src/joystick/dummy;./src/audio/dummy;./src/video/dummy;./src/sensor/dummy;
    1.68 +.c: ./src/loadso/dummy;./src/filesystem/dummy;./src/timer/dummy;./src/thread/generic;
    1.69 +
    1.70 +all: $(DLLFILE) $(LIBFILE) .symbolic
    1.71 +
    1.72 +$(DLLFILE): $(OBJS) $(LNKFILE)
    1.73 +    @echo * Linking: $@
    1.74 +    wlink @$(LNKFILE)
    1.75 +
    1.76 +$(LIBFILE): $(DLLFILE)
    1.77 +    @echo * Creating LIB file: $@
    1.78 +    wlib -q -b -n -c -pa -s -t -zld -ii -io $* $(DLLFILE)
    1.79 +
    1.80 +.c.obj:
    1.81 +    wcc386 $(CFLAGS) -fo=$^@ $<
    1.82 +
    1.83 +SDL_cpuinfo.obj: SDL_cpuinfo.c
    1.84 +    wcc386 $(CFLAGS) -wcd=200 -fo=$^@ $<
    1.85 +
    1.86 +SDL_rwops.obj: SDL_rwops.c
    1.87 +    wcc386 $(CFLAGS) -wcd=136 -fo=$^@ $<
    1.88 +
    1.89 +SDL_blendfillrect.obj: SDL_blendfillrect.c
    1.90 +    wcc386 $(CFLAGS) -wcd=200 -fo=$^@ $<
    1.91 +
    1.92 +SDL_blendline.obj: SDL_blendline.c
    1.93 +    wcc386 $(CFLAGS) -wcd=200 -fo=$^@ $<
    1.94 +
    1.95 +SDL_blendpoint.obj: SDL_blendpoint.c
    1.96 +    wcc386 $(CFLAGS) -wcd=200 -fo=$^@ $<
    1.97 +
    1.98 +SDL_RLEaccel.obj: SDL_RLEaccel.c
    1.99 +    wcc386 $(CFLAGS) -wcd=201 -fo=$^@ $<
   1.100 +
   1.101 +$(LNKFILE):
   1.102 +    @echo * Creating linker file: $@
   1.103 +    @%create $@
   1.104 +    @%append $@ SYSTEM os2v2_dll INITINSTANCE TERMINSTANCE
   1.105 +    @%append $@ NAME $(DLLFILE)
   1.106 +    @for %i in ($(OBJS)) do @%append $@ FILE %i
   1.107 +    @%append $@ LIBPATH $(%LIB);$(LIBPATH)
   1.108 +    @for %i in ($(LIBS)) do @%append $@ LIB %i
   1.109 +    @%append $@ OPTION QUIET
   1.110 +    @%append $@ OPTION IMPF=$(LIBHOME)/$^&.exp
   1.111 +    @%append $@ OPTION MAP=$(LIBHOME)/$^&.map
   1.112 +    @%append $@ OPTION DESCRIPTION '@$#libsdl org:$(VERSION)$#@$(DESCRIPTION)'
   1.113 +    @%append $@ OPTION QUIET
   1.114 +    @%append $@ OPTION ELIMINATE
   1.115 +    @%append $@ OPTION MANYAUTODATA
   1.116 +    @%append $@ OPTION OSNAME='OS/2 and eComStation'
   1.117 +    @%append $@ OPTION SHOWDEAD
   1.118 +
   1.119 +clean: .SYMBOLIC
   1.120 +    @ echo * Clean: $(LIBNAME)
   1.121 +    @if exist *.obj rm *.obj
   1.122 +    @if exist *.err rm *.err
   1.123 +    @if exist $(LNKFILE) rm $(LNKFILE)
   1.124 +
   1.125 +distclean: .SYMBOLIC clean
   1.126 +    @if exist $(LIBHOME)/*.exp rm $(LIBHOME)/*.exp
   1.127 +    @if exist $(LIBHOME)/*.map rm $(LIBHOME)/*.map
   1.128 +    @if exist $(LIBFILE) rm $(LIBFILE)
   1.129 +    @if exist $(DLLFILE) rm $(DLLFILE)