bin=..\bin
iosys=iosys
ask=ask

iolist=$(iosys)\gopen.for $(iosys)\gclose.for $(iosys)\gheader.for \
$(iosys)\grow.for $(iosys)\xopen.for $(iosys)\xclose.for \
$(iosys)\xiopst.for $(iosys)\xioxyz.for $(iosys)\pfinit.for \
$(iosys)\mpsnam.for $(iosys)\mpsref.for $(iosys)\mphnam.for \
$(iosys)\mpxnam.for

asklist=$(ask)\ask.for $(ask)\genchar.for

all: $(bin)\iosys.lib $(bin)\a2xyz.exe $(bin)\abs.exe $(bin)\addgrd.exe \
$(bin)\addscale.exe $(bin)\analyti2.exe $(bin)\analytic.exe \
$(bin)\ascii2sf.exe $(bin)\aver2d.exe \
$(bin)\ck_dims.exe \
$(bin)\de_prep.exe $(bin)\de_prep2.exe $(bin)\de_prep3.exe $(bin)\de_prep4.exe \
$(bin)\drape.exe \
$(bin)\g2mincmd.exe $(bin)\biharm.exe $(bin)\tmerger.exe \
$(bin)\genproj.exe \
$(bin)\id.exe $(bin)\ghist.exe $(bin)\minc.exe \
$(bin)\prep.exe $(bin)\prep2.exe $(bin)\prep3.exe $(bin)\prep4.exe \
$(bin)\regrid.exe $(bin)\rotate.exe $(bin)\scale.exe \
$(bin)\trimgrd.exe $(bin)\utility.exe $(bin)\gi4.exe \
$(bin)\xyz2grf.exe $(bin)\readpts.exe $(bin)\p2mincmd.exe

$(bin)\iosys.lib:      $(iolist)
        cd $(iosys)
        fl /c *.for
        lib @iosys.res
        del *.obj
        copy iosys.lib ..\$(bin)\iosys.lib
        del iosys.lib
        cd ..

$(bin)\ask.lib:      $(asklist)
        cd $(ask)
        fl /c *.for
        lib @ask.res
#        del *.obj
        copy ask.lib ..\$(bin)\ask.lib
        del ask.lib
        cd ..

$(bin)\a2xyz.exe:          a2xyz.for $(bin)\iosys.lib
        fl /c a2xyz.for
        link /e a2xyz,$(bin)\a2xyz,NUL,$(bin)\iosys;
        del a2xyz.obj

$(bin)\abs.exe:          abs.for $(bin)\iosys.lib
        fl /c abs.for
        link /e abs,$(bin)\abs,NUL,$(bin)\iosys;
        del abs.obj

$(bin)\addgrd.exe:          addgrd.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb addgrd.for
        link /e addgrd,$(bin)\addgrd,NUL,$(bin)\iosys+$(bin)\ask+graphics;
        del addgrd.obj

$(bin)\addscale.exe:          addscale.for $(bin)\iosys.lib
        fl /c addscale.for
        link /e addscale,$(bin)\addscale,NUL,$(bin)\iosys;
        del addscale.obj

$(bin)\analyti2.exe:          analyti2.for $(bin)\iosys.lib
        fl /c analyti2.for
        link /e analyti2,$(bin)\analyti2,NUL,$(bin)\iosys;
        del analyti2.obj

$(bin)\analytic.exe:          analytic.for $(bin)\iosys.lib
        fl /c analytic.for
        link /e analytic,$(bin)\analytic,NUL,$(bin)\iosys;
        del analytic.obj

$(bin)\ascii2sf.exe:          ascii2sf.for $(bin)\iosys.lib
        fl /c ascii2sf.for
        link /e ascii2sf,$(bin)\ascii2sf,NUL,$(bin)\iosys;
        del ascii2sf.obj

$(bin)\aver2d.exe:          aver2d.for $(bin)\iosys.lib
        fl /c /4Yb aver2d.for
        link /e aver2d,$(bin)\aver2d,NUL,$(bin)\iosys;
        del aver2d.obj

$(bin)\ck_dims.exe:          ck_dims.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb ck_dims.for
        link /e ck_dims,$(bin)\ck_dims,NUL,$(bin)\iosys+$(bin)\ask+graphics;
        del ck_dims.obj

$(bin)\de_prep.exe:          de_prep.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb de_prep.for
        link /e de_prep,$(bin)\de_prep,NUL,$(bin)\iosys+$(bin)\ask;
        del de_prep.obj

$(bin)\de_prep2.exe:          de_prep2.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb de_prep2.for
        link /e de_prep2,$(bin)\de_prep2,NUL,$(bin)\iosys+$(bin)\ask;
        del de_prep2.obj

$(bin)\de_prep3.exe:          de_prep3.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb de_prep3.for
        link /e de_prep3,$(bin)\de_prep3,NUL,$(bin)\iosys+$(bin)\ask;
        del de_prep3.obj

$(bin)\de_prep4.exe:          de_prep4.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb de_prep4.for
        link /e de_prep4,$(bin)\de_prep4,NUL,$(bin)\iosys+$(bin)\ask;
        del de_prep4.obj

$(bin)\drape.exe:          drape.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb drape.for
        link /e drape,$(bin)\drape,NUL,$(bin)\iosys+$(bin)\ask;
        del drape.obj

$(bin)\g2mincmd.exe:          g2mincmd.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb g2mincmd.for
        link /e g2mincmd,$(bin)\g2mincmd,NUL,$(bin)\iosys+$(bin)\ask;
        del g2mincmd.obj

$(bin)\biharm.exe:          biharm.for $(bin)\iosys.lib
        fl /c /4Yb biharm.for
        link /e biharm,$(bin)\biharm,NUL,$(bin)\iosys;
        del biharm.obj

$(bin)\tmerger.exe:          tmerger.for tmerge1.for $(bin)\iosys.lib
        fl /c /4Yb tmerger.for
        fl /c /4Yb tmerge1.for
        link tmerger+tmerge1,$(bin)\tmerger,NUL,$(bin)\iosys;
        del tmerger.obj

$(bin)\ghist.exe:          ghist.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c ghist.for
        link /e ghist,$(bin)\ghist,NUL,$(bin)\iosys+$(bin)\ask;
        del ghist.obj

$(bin)\gi4.exe:     gi4.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb gi4.for
        link /e gi4,$(bin)\gi4,NUL,$(bin)\iosys+$(bin)\ask;
        del gi4.obj

$(bin)\genproj.exe:          genproj.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb genproj.for
        link /e genproj,$(bin)\genproj,NUL,$(bin)\iosys+$(bin)\ask;
        del genproj.obj

$(bin)\id.exe:          id.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c id.for
        link /e id,$(bin)\id,NUL,$(bin)\iosys+$(bin)\ask;
        del id.obj

$(bin)\minc.exe:      minc.for
        fl /c minc.for
        link /e /f /packc minc,$(bin)\minc;
        del minc.obj

$(bin)\prep.exe:          prep.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb prep.for
        link /e prep,$(bin)\prep,NUL,$(bin)\iosys+$(bin)\ask;
        del prep.obj

$(bin)\prep2.exe:          prep2.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb prep2.for
        link /e prep2,$(bin)\prep2,NUL,$(bin)\iosys+$(bin)\ask;
        del prep2.obj

$(bin)\prep3.exe:          prep3.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb prep3.for
        link /e prep3,$(bin)\prep3,NUL,$(bin)\iosys+$(bin)\ask;
        del prep3.obj

$(bin)\prep4.exe:          prep4.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb /Gt prep4.for
        link /e prep4,$(bin)\prep4,NUL,$(bin)\iosys+$(bin)\ask;
        del prep4.obj

$(bin)\regrid.exe:     regrid.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c regrid.for
        link /e regrid,$(bin)\regrid,NUL,$(bin)\iosys+$(bin)\ask;
        del regrid.obj

$(bin)\rotate.exe:     rotate.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c rotate.for
        link /e rotate,$(bin)\rotate,NUL,$(bin)\iosys+$(bin)\ask;
        del rotate.obj

$(bin)\scale.exe:     scale.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c scale.for
        link /e scale,$(bin)\scale,NUL,$(bin)\iosys+$(bin)\ask;
        del scale.obj

$(bin)\trimgrd.exe:     trimgrd.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c trimgrd.for
        link /e trimgrd,$(bin)\trimgrd,NUL,$(bin)\iosys+$(bin)\ask;
        del trimgrd.obj

$(bin)\utility.exe:     utility.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb utility.for
        link /e utility,$(bin)\utility,NUL,$(bin)\iosys+$(bin)\ask;
        del utility.obj

$(bin)\xyz2grf.exe:     xyz2grf.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb xyz2grf.for
        link /e xyz2grf,$(bin)\xyz2grf,NUL,$(bin)\iosys+$(bin)\ask;
        del xyz2grf.obj

$(bin)\readpts.exe:     readpts.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb readpts.for
        link /e readpts,$(bin)\readpts,NUL,$(bin)\iosys+$(bin)\ask;
        del readpts.obj

$(bin)\p2mincmd.exe:     p2mincmd.for $(bin)\iosys.lib $(bin)\ask.lib
        fl /c /4Yb p2mincmd.for
        link /e p2mincmd,$(bin)\p2mincmd,NUL,$(bin)\iosys+$(bin)\ask;
        del p2mincmd.obj

