#
# makefile for the GemFast AES and VDI bindings...
#
# Note that the object files are dependancy-ordered, don't screw them up!
#


#if THECOMPILER=HSC
THELIB  = $(OBJDIR)gemfast.a    # the output library
OBJDIR  = ..\HSC.LIB\           # path for object/library files
#endif

#if THECOMPILER=GCC
THELIB  = $(OBJDIR)gemfst16.olb # the output library
OBJDIR  = ..\GCC16.LIB\         # path for object/library files
AS      = jas.ttp               # use JAS assembler with -u (unix output)
BAFLAGS = -u                    # option overriding any builtin GNU flags.
#ifn INTSIZE=16
#abort Can't compile this source code for 32-bit GCC!
#endif
#endif

#if THELIB=
#abort Unknown host compiler!
#endif

.PATH.o = $(OBJDIR)

#
# aes modules...
#

ANOTE   = aes@note.o
AAP01   = aesappl1.o aesappl2.o
AEV01   = aesevnt1.o aesevnt2.o aesevnt3.o
AEV02   = aesevnt4.o aesevnt5.o aesevnt6.o
AFM01   = aesform1.o aesform2.o aesform3.o
AMN01   = aesmenu1.o aesmenu2.o
AFS01   = aesfsel1.o aesfsel2.o aesfsel3.o aesfsel4.o aesfsimu.o
AGR01   = aesgraf1.o aesgraf2.o aesgraf3.o aesgraf4.o aesgraf5.o
AOB01   = aesobjc1.o aesobjc2.o
ARS01   = aesrsrc1.o aesrsrc2.o
ASH01   = aesshel1.o aesshel2.o aesscrp.o
AWN01   = aeswind1.o aeswind2.o
ACOMN   = aescomn.o

#
# vdi modules...
#

VOB01   = varcpie.o    vbar.o       vcellary.o   vcircle.o    vcontour.o
VOB02   = vcurtext.o   vdspcur.o    vellipse.o   vescapes.o   vextimev.o
VOB03   = vexvecto.o   vfillare.o   vgchar.o     vqgdos.o     vgetpix.o
VOB04   = vgtext.o     vinstrin.o   vjustify.o   vlarcpie.o   vlocator.o
VOB05   = voutwind.o   vpline.o     vpmarker.o   vqchcell.o   vqcolor.o
VOB06   = vqcuradd.o   vqextnd.o    vqfattr.o    vqinmode.o   vqkeys.o
VOB07   = vqlattr.o    vqmattr.o    vqmouse.o    vqtattr.o    vqtextnt.o
VOB08   = vqtfinfo.o   vqtname.o    vqtwidth.o   vrbox.o      vrcpyfm.o
VOB09   = vrecfl.o     vrqchoic.o   vrtrnfm.o    vscform.o    vsclip.o
VOB10   = vscolor.o    vescape1.o   vsetattr.o   vsfudpat.o   vshowc.o
VOB11   = vsinmode.o   vslends.o    vslwidth.o   vsmchoic.o   vsmheigh.o
VOB12   = vspalett.o   vstalign.o   vstfonts.o   vstheigh.o   vstpoint.o
VOB13   = vvaluato.o   vwkstatn.o   vdi@note.o   vmextent.o   vmpagesz.o
VOB14   = vmcoords.o   valphatx.o   vmfilenm.o   vqpfilm.o    vbitimag.o
VOB15   = vwrtmeta.o   vtaxis.o     vqcellar.o   vqdimens.o   vqscan.o
VOBLAST = voutpxy.o    vstrstak.o   vdicomn.o # these MUST be last!

#
# all the object files in one nice tidy name...
#

ALLOBJ  = \
    $(ANOTE) $(AAP01) $(AEV01) $(AEV02) $(AFM01) $(AMN01) $(AFS01) \
    $(AGR01) $(AOB01) $(ARS01) $(ASH01) $(AWN01) $(ACOMN)          \
    $(VOB01) $(VOB02) $(VOB03) $(VOB04) $(VOB05) $(VOB06) $(VOB07) \
    $(VOB08) $(VOB09) $(VOB10) $(VOB11) $(VOB12) $(VOB13) $(VOB14) \
    $(VOB15) $(VOBLAST)

#
# The main target...
#

$(THELIB): $(ALLOBJ)
    
.LAST:
    pushdir $(OBJDIR)
    $(AR) $(ARREP) $(THELIB) $(ALLOBJ)
    popdir

#
# other handy targets, invoked only when named on the command line...
#

cleanup:
    pushdir $(OBJDIR)
    del $(THELIB) $(ALLOBJ)
    popdir

force: cleanup $(THELIB)

archive:
    del gembnd.lzh
    lharc a gemfbind *.s* *.mak

arcupd:
    lharc f gemfbind *.*

