src/Makefile.wat
author Ryan C. Gordon <icculus@icculus.org>
Wed, 23 Nov 2005 07:29:56 +0000
changeset 1190 173c063d4f55
permissions -rw-r--r--
OS/2 port!

This was mostly, if not entirely, written by "Doodle" and "Caetano":
doodle@scenergy.dfmk.hu
daniel@caetano.eng.br

--ryan.
     1 #=============================================================================
     2 #          This is a Watcom makefile to build SDL.DLL for OS/2
     3 #
     4 #
     5 #=============================================================================
     6 
     7 dllname=SDL
     8 
     9 audioobjs = audio\SDL_audio.obj audio\SDL_audiocvt.obj audio\SDL_audiomem.obj &
    10             audio\SDL_mixer.obj audio\SDL_mixer_MMX_VC.obj audio\SDL_wave.obj &
    11             audio\SDL_dart.obj
    12 cdromobjs = cdrom\SDL_cdrom.obj cdrom\SDL_syscdrom.obj
    13 cpuinfoobjs = cpuinfo\SDL_cpuinfo.obj
    14 endianobjs = endian\SDL_endian.obj
    15 eventsobjs = events\SDL_active.obj events\SDL_events.obj events\SDL_expose.obj &
    16              events\SDL_keyboard.obj events\SDL_mouse.obj events\SDL_quit.obj &
    17              events\SDL_resize.obj
    18 fileobjs = file\SDL_rwops.obj
    19 hermesobjs = hermes\mmx_main.obj hermes\mmxp2_32.obj hermes\x86_main.obj &
    20              hermes\x86p_16.obj hermes\x86p_32.obj
    21 joystickobjs = joystick\SDL_joystick.obj joystick\SDL_sysjoystick.obj
    22 threadobjs = thread\SDL_thread.obj thread\SDL_sysmutex.obj &
    23              thread\SDL_syssem.obj thread\SDL_systhread.obj &
    24              thread\SDL_syscond.obj
    25 timerobjs = timer\SDL_timer.obj timer\SDL_systimer.obj
    26 videoobjs = video\SDL_blit.obj video\SDL_blit_0.obj video\SDL_blit_1.obj &
    27             video\SDL_blit_A.obj video\SDL_blit_N.obj video\SDL_bmp.obj &
    28             video\SDL_cursor.obj video\SDL_gamma.obj video\SDL_pixels.obj &
    29             video\SDL_RLEaccel.obj video\SDL_stretch.obj video\SDL_surface.obj &
    30             video\SDL_video.obj video\SDL_yuv.obj video\SDL_yuv_mmx.obj &
    31             video\SDL_yuv_sw.obj video\SDL_os2fslib.obj
    32 
    33 object_files= SDL.obj SDL_error.obj SDL_fatal.obj SDL_getenv.obj &
    34               SDL_loadso.obj $(audioobjs) $(cpuinfoobjs) $(endianobjs) &
    35               $(eventsobjs) $(fileobjs) $(joystickobjs) &
    36               $(threadobjs) $(timerobjs) $(videoobjs) $(cdromobjs)
    37 	      
    38 
    39 # Extra stuffs to pass to C compiler:
    40 ExtraCFlags=
    41 
    42 #
    43 #==============================================================================
    44 #
    45 !include ..\Watcom.mif
    46 
    47 .before
    48     @set include=$(%os2tk)\h;$(%include);../include;./thread;./thread/os2;./video;./cdrom;./cdrom/os2;./joystick;./joystick/os2;
    49 
    50 all : check_subdir_objects $(dllname).dll $(dllname).lib
    51 
    52 $(dllname).dll : $(dllname).lnk $(object_files)
    53     wlink @$(dllname)
    54 
    55 check_subdir_objects: .always .symbolic
    56     @cd audio
    57     @wmake -h -f Makefile.wat
    58     @cd ..\cdrom
    59     @wmake -h -f Makefile.wat
    60     @cd ..\cpuinfo
    61     @wmake -h -f Makefile.wat
    62     @cd ..\endian
    63     @wmake -h -f Makefile.wat
    64     @cd ..\events
    65     @wmake -h -f Makefile.wat
    66     @cd ..\file
    67     @wmake -h -f Makefile.wat
    68     @cd ..\joystick
    69     @wmake -h -f Makefile.wat
    70     @cd ..\thread
    71     @wmake -h -f Makefile.wat
    72     @cd ..\timer
    73     @wmake -h -f Makefile.wat
    74     @cd ..\video
    75     @wmake -h -f Makefile.wat
    76     @cd ..
    77 
    78 $(dllname).lnk :
    79     @echo Creating linker file ($(dllname).lnk)...
    80     @echo $#============================================================================= >$^@
    81     @echo $#              This is a linker file to build SDL.DLL for OS/2 >>$^@
    82     @echo $# >>$^@
    83     @echo $# Generated automatically by Makefile.wat >>$^@
    84     @echo $#============================================================================= >>$^@
    85     @echo SYSTEM 386 LX DLL INITINSTANCE TERMINSTANCE >>$^@
    86     @echo NAME $^& >>$^@
    87     @for %i in ($(object_files)) do @echo FILE %i >>$^@
    88     @echo LIBPATH %os2tk%\lib >>$^@
    89     @echo LIBPATH %fslib% >>$^@
    90     @echo LIB mmpm2.lib >>$^@
    91     @echo LIB fslib.lib >>$^@
    92     @echo OPTION QUIET >>$^@
    93     @echo OPTION MAP=$^&.map >>$^@
    94     @echo OPTION DESCRIPTION 'Simple DirectMedia Layer v1.2.7' >>$^@
    95     @echo OPTION ELIMINATE >>$^@
    96     @echo OPTION MANYAUTODATA >>$^@
    97     @echo OPTION OSNAME='OS/2 and eComStation' >>$^@
    98     @echo OPTION SHOWDEAD >>$^@
    99     @echo Linker file created!
   100 
   101 $(dllname).lib : $(dllname).dll
   102     implib $(dllname).lib $(dllname).dll
   103 
   104 clean : .SYMBOLIC
   105     @if exist *.dll del *.dll
   106     @if exist *.lib del *.lib
   107     @if exist *.obj del *.obj
   108     @if exist *.lnk del *.lnk
   109     @if exist *.map del *.map
   110     @if exist *.res del *.res
   111     @if exist *.lst del *.lst
   112     @cd audio
   113     @wmake -h -f Makefile.wat clean
   114     @cd ..\cdrom
   115     @wmake -h -f Makefile.wat clean
   116     @cd ..\cpuinfo
   117     @wmake -h -f Makefile.wat clean
   118     @cd ..\endian
   119     @wmake -h -f Makefile.wat clean
   120     @cd ..\events
   121     @wmake -h -f Makefile.wat clean
   122     @cd ..\file
   123     @wmake -h -f Makefile.wat clean
   124     @cd ..\joystick
   125     @wmake -h -f Makefile.wat clean
   126     @cd ..\thread
   127     @wmake -h -f Makefile.wat clean
   128     @cd ..\timer
   129     @wmake -h -f Makefile.wat clean
   130     @cd ..\video
   131     @wmake -h -f Makefile.wat clean
   132     @cd ..