###########################################################################
#      Created 2006  eCo Software                                         
#                                                                         
#      DISCLAIMER OF WARRANTIES.  The following [enclosed] code is        
#      sample code created by eCo Software. This sample code is not part  
#      of any standard or eCo Software product and is provided to you     
#      solely for the purpose of assisting you in the development of your 
#      applications.  The code is provided "AS IS", without               
#      warranty of any kind. eCo Software shall not be liable for any     
#      damages arising out of your use of the sample code, even if they   
#      have been advised of the possibility of such damages.              
###########################################################################
#
# Settings
#

O = OBJ
D = BIN

LDFLAGS = op m,maxe=25 op q op symf op el

exename = OpenVPN

FILE1 = $(O)\base64.obj $(O)\buffer.obj $(O)\crypto.obj $(O)\error.obj $(O)\event.obj $(O)\fdmisc.obj $(O)\forward.obj
FILE2 = $(O)\fragment.obj $(O)\gremlin.obj $(O)\helper.obj $(O)\init.obj $(O)\interval.obj $(O)\list.obj $(O)\lzo.obj $(O)\manage.obj $(O)\mbuf.obj
FILE3 = $(O)\misc.obj $(O)\mroute.obj $(O)\mss.obj $(O)\mtcp.obj $(O)\mtu.obj $(O)\mudp.obj $(O)\multi.obj $(O)\ntlm.obj $(O)\occ.obj $(O)\openvpn.obj
FILE4 = $(O)\options.obj $(O)\otime.obj $(O)\packet_id.obj $(O)\perf.obj $(O)\ping.obj $(O)\plugin.obj $(O)\pool.obj $(O)\proto.obj $(O)\proxy.obj $(O)\push.obj
FILE5 = $(O)\reliable.obj $(O)\route.obj $(O)\schedule.obj $(O)\session_id.obj $(O)\shaper.obj $(O)\sig.obj $(O)\socket.obj $(O)\socks.obj $(O)\ssl.obj
FILE6 = $(O)\status.obj $(O)\thread.obj $(O)\tun.obj $(O)\os2.obj

object_files = $(FILE1)  $(FILE2)  $(FILE3)  $(FILE4)  $(FILE5)  $(FILE6)
###############################################################################
# Common stuff to build a EXE
###############################################################################

linkfilename = $(exename)

cflags = $(debugflags) -zq -bm -zp=1 -ot -ox
# -bm -bt=OS2 -5 -fpi -5s

.before
    set include=$(%include);$(%os2tk)\h;.;

.extensions:
.extensions: .exe .obj .c .lnk

all : $(exename).exe

$(exename).exe: $(object_files) $(linkfilename).lnk

     wlink NAME OpenVPN SYS os2v2 $(LDFLAGS) Libr lib\ossl.LIB Libr lib\lzo.LIB FILE {$(object_files)}

.c.obj : .AUTODEPEND
    wcc386 $[* $(cflags) /fo=$(O)\$[*.obj

$(linkfilename).lnk: .AUTODEPEND

    @echo SYS os2v2 pm > $(linkfilename).lnk
    @echo op m d all   >> $(linkfilename).lnk
    @echo op st=8192   >> $(linkfilename).lnk
    @echo op maxe=25   >> $(linkfilename).lnk
    @echo op q         >> $(linkfilename).lnk
    @echo name $(exename).exe >> $(linkfilename).lnk
    @echo FILE $(exename) >> $(linkfilename).lnk
    @echo file $]@ >> $(linkfilename).lnk
    @echo OPTION MAP=$(linkfilename) >> $(linkfilename).lnk
    @echo OPTION DESCRIPTION 'OpenVPN' >> $(linkfilename).lnk
    @echo OPTION ELIMINATE >> $(linkfilename).lnk
    @echo OPTION MANYAUTODATA >> $(linkfilename).lnk
    @echo OPTION OSNAME='OS/2 and eComStation' >> $(linkfilename).lnk
    @echo OPTION SHOWDEAD >> $(linkfilename).lnk

.obj.exe : .AUTODEPEND
#    wlink @$(linkfilename).lnk
     wlink NAME OpenVPN SYS os2v2 $(LDFLAGS) lib lib\ossl.LIB FILE {$(object_files)}
$(exename).res: .AUTODEPEND
    rc $(exename).rc $(exename).exe
clean : .SYMBOLIC
        @if exist $(exename).exe del $(exename).exe
        @if exist *.obj del *.obj
        @if exist *.map del *.map
        @if exist *.res del *.res
        @if exist *.lst del *.lst
