#Software License Agreement (BSD License)
#
#Copyright (c) 1997-2008, David Lindauer, (LADSoft).
#All rights reserved.
#
#Redistribution and use of this software in source and binary forms, with or without modification, are
#permitted provided that the following conditions are met:
#
#* Redistributions of source code must retain the above
#  copyright notice, this list of conditions and the
#  following disclaimer.
#
#* Redistributions in binary form must reproduce the above
#  copyright notice, this list of conditions and the
#  following disclaimer in the documentation and/or other
#  materials provided with the distribution.
#
#* Neither the name of LADSoft nor the names of its
#  contributors may be used to endorse or promote products
#  derived from this software without specific prior
#  written permission of LADSoft.
#
#THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
#WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
#PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
#ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
#LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
#INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
#TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
#ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
i386 = 1
DEPENDENCIES = \
ARGSET.$(OBJ_TAG) \
chdir.$(OBJ_TAG) \
conio.$(OBJ_TAG) \
_conio.$(OBJ_TAG) \
crtexit.$(OBJ_TAG) \
dos_cls.$(OBJ_TAG) \
dos_cnew.$(OBJ_TAG) \
dos_crea.$(OBJ_TAG) \
dos_find.$(OBJ_TAG) \
dos_gdf.$(OBJ_TAG) \
dos_gdrv.$(OBJ_TAG) \
dos_getd.$(OBJ_TAG) \
dos_gett.$(OBJ_TAG) \
dos_gfa.$(OBJ_TAG) \
dos_gft.$(OBJ_TAG) \
dos_gpwd.$(OBJ_TAG) \
dos_open.$(OBJ_TAG) \
dos_read.$(OBJ_TAG) \
dos_sdrv.$(OBJ_TAG) \
dos_setd.$(OBJ_TAG) \
dos_sett.$(OBJ_TAG) \
dos_sfa.$(OBJ_TAG) \
dos_sft.$(OBJ_TAG) \
dos_spwd.$(OBJ_TAG) \
dos_writ.$(OBJ_TAG) \
dtou.$(OBJ_TAG) \
ENVSET.$(OBJ_TAG) \
find.$(OBJ_TAG) \
getcurd.$(OBJ_TAG) \
getcwd.$(OBJ_TAG) \
getdate.$(OBJ_TAG) \
getdfree.$(OBJ_TAG) \
getdisk.$(OBJ_TAG) \
gettime.$(OBJ_TAG) \
LLASSERT.$(OBJ_TAG) \
LLCHMOD.$(OBJ_TAG) \
LLCHSIZE.$(OBJ_TAG) \
LLCLOSE.$(OBJ_TAG) \
LLCREAT.$(OBJ_TAG) \
LLCRIT.$(OBJ_TAG) \
LLDUP.$(OBJ_TAG) \
LLF.$(OBJ_TAG) \
LLFPSTUB.$(OBJ_TAG) \
LLGENV.$(OBJ_TAG) \
LLGETPOS.$(OBJ_TAG) \
LLGETTMP.$(OBJ_TAG) \
LLGFT.$(OBJ_TAG) \
LLGTIME.$(OBJ_TAG) \
LLISWRIT.$(OBJ_TAG) \
LLLOCK.$(OBJ_TAG) \
llmalloc.$(OBJ_TAG) \
llopen.$(OBJ_TAG) \
llread.$(OBJ_TAG) \
llremove.$(OBJ_TAG) \
llrename.$(OBJ_TAG) \
llrmdir.$(OBJ_TAG) \
llseek.$(OBJ_TAG) \
llshf.$(OBJ_TAG) \
llsft.$(OBJ_TAG) \
llsignal.$(OBJ_TAG) \
llsleep.$(OBJ_TAG) \
llspawn.$(OBJ_TAG) \
llstat.$(OBJ_TAG) \
LLSTDIO.$(OBJ_TAG) \
LLSTIME.$(OBJ_TAG) \
LLTICKS.$(OBJ_TAG) \
LLTTY.$(OBJ_TAG) \
LLTZ.$(OBJ_TAG) \
LLUIO.$(OBJ_TAG) \
LLUIOF.$(OBJ_TAG) \
LLUNLOCK.$(OBJ_TAG) \
LLUTIME.$(OBJ_TAG) \
LLWRITE.$(OBJ_TAG) \
LLXCEPT.$(OBJ_TAG) \
mkdir.$(OBJ_TAG) \
osver.$(OBJ_TAG) \
path.$(OBJ_TAG) \
searchp.$(OBJ_TAG) \
setdate.$(OBJ_TAG) \
setdisk.$(OBJ_TAG) \
settime.$(OBJ_TAG) \
SYSTEM.$(OBJ_TAG) \
utod.$(OBJ_TAG) \
_beep.$(OBJ_TAG) \
_chdrv.$(OBJ_TAG) \
_doserrn.$(OBJ_TAG) \
_errno.$(OBJ_TAG) \
_find.$(OBJ_TAG) \
_getdcwd.$(OBJ_TAG) \
_getdrv.$(OBJ_TAG) \
_searche.$(OBJ_TAG) \
_sgngam.$(OBJ_TAG) \
_thread.$(OBJ_TAG) \
_tls.$(OBJ_TAG)

PROFILE_DEPS=\
PROFILE.$(OBJ_TAG) \
PROFTIME.$(OBJ_TAG)

!ifndef LSCRTL
C_DEPENDENCIES = $(DEPENDENCIES) $(PROFILE_DEPS)
!else
C_DEPENDENCIES = $(DEPENDENCIES)
!endif

!ifdef BUILDING_DLL
startup: all dosx
!else
startup: c0win c0xwin c0dwin climp crtdll msvcrt all wildargs dosx vsconio
!endif
!include "..\clib.mak"

dosx:
        nasm -fobj $(BUILDING_DLL) 386\_disable.nas
        move 386\_disable.obj ..\object
!ifdef BUILDING_DLL
    mkdlllst $(LIBLIST) .obj _disable
!else
	mkliblst $(LIBLIST) .obj _disable
!endif\

vsconio:
	cc386 /ovsconio.obj /c /I..\wininc;..\stdinc /DVSDLL conio.c
	copy vsconio.obj ..\object\vsconio.obj

wildargs:
        cc386 /c -I..\wininc;..\stdinc wildargs.c
        copy wildargs.obj ..\object\wildargw.obj

climp:
	del ..\object\climp.lib
	cd def
	xlib /p16 ..\..\object\climp @impdefs.lst	
#        xlib ..\..\object\winsock wsock32.def
	cd ..

crtdll:
        cc386 /c /I..\stdinc;..\wininc crtdmain.c
        del ..\object\crtdll.lib
        xlib /p16 ..\object\crtdll def\crtdll.def crtdmain.obj
		cd ..\object
	    xlib /p16 crtdll +lxsar.obj lxshr.obj lxshl.obj lxmul.obj lxdiv.obj substk.obj stkchk.obj vsconio.obj
		cd ..\win32

msvcrt:
        cc386 /c /I..\stdinc;..\wininc msvcrdm.c
        del ..\object\msvcrt.lib
        xlib /p16 ..\object\msvcrt def\msvcrt.def msvcrdm.obj
		cd ..\object
	    xlib    /p16 msvcrt +lxsar.obj lxshr.obj lxshl.obj lxmul.obj lxdiv.obj substk.obj stkchk.obj vsconio.obj
		cd ..\win32

profile.obj: profile.c
        cc386 /c /C+N /I..\stdinc profile
!ifdef BUILDING_DLL
    mkdlllst $(LIBLIST) .obj profile
!else
	mkliblst $(LIBLIST) .obj profile
!endif
        nasm -fobj $(BUILDING_DLL) profile.asm

proftime.obj: proftime.c
        cc386 /c /C+N /I..\stdinc proftime
!ifdef BUILDING_DLL
    mkdlllst $(LIBLIST) .obj proftime
!else
	mkliblst $(LIBLIST) .obj proftime
!endif
        nasm -fobj $(BUILDING_DLL) proftime.asm

c0win: 386\c0win.nas
  cd 386
  nasm -fobj c0win.nas
  cd ..
  move 386\c0win.obj ..\object
c0xwin: 386\c0win.nas
  cd  386
  nasm -fobj -DCONSOLE c0win.nas
  cd  ..
  move 386\c0win.obj ..\object\c0xwin.obj
c0dwin: 386\c0win.nas
  cd  386
  nasm -fobj -DDLL c0win.nas
  cd ..
  move 386\c0win.obj ..\object\c0dwin.obj
