src/Makefile.wat
changeset 1190 173c063d4f55
equal deleted inserted replaced
1189:c96b326b90ba 1190:173c063d4f55
       
     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 ..