#
#  DMakefile
#
#  this file contains all library combinations allowed

DLIB= xdlib:

start:
	type lib.help

all:	startup autos.lib c uc m rom amiga13 amiga20

c:	    cs.lib cl.lib csp.lib csr.lib cpl.lib crl.lib csrp.lib crpl.lib \
	    cs.lib.free csp.lib.free

uc:	    ucs.lib ucsr.lib

m:	    ms.lib ml.lib msp.lib msr.lib mpl.lib mrl.lib msrp.lib mrpl.lib

rom:	    roms.lib romsr.lib roml.lib romrl.lib

amiga13:    amiga13l.lib amiga13s.lib amiga13sp.lib amiga13pl.lib

amiga20:    amiga20l.lib amiga20s.lib amiga20sp.lib amiga20sr.lib amiga20pl.lib \
	    amiga20rl.lib amiga20srp.lib amiga20rpl.lib \
	    amiga20s.lib.free amiga20sp.lib.free

amiga30:    amiga30l.lib amiga30s.lib amiga30sp.lib amiga30sr.lib amiga30pl.lib \
	    amiga30rl.lib amiga30srp.lib amiga30rpl.lib

amiga30r:   amiga30sp.lib amiga30pl.lib amiga30srp.lib amiga30rpl.lib

amiga20r:   amiga20sp.lib amiga20pl.lib amiga20srp.lib amiga20rpl.lib amiga20sp.lib.free

startup:
    lbmake startup

autos.lib:
    lbmake auto s

cs.lib:
    lbmake clib s

cl.lib:
    lbmake clib l

csp.lib:
    lbmake clib s p

csr.lib:
    lbmake clib s r

cpl.lib:
    lbmake clib p l

crl.lib:
    lbmake clib r l

csrp.lib:
    lbmake clib s r p

crpl.lib:
    lbmake clib r p l

#   CS.LIB - freeware release small-data c.lib
#

cs.lib.free:
    lbmake free s

csp.lib.free:
    lbmake free s p

#   UNIX compatible C library (automatically converts UNIX style paths to
#	 amiga style)

ucs.lib:
    lbmake uclib s

ucsr.lib:
    lbmake uclib s r


#   M[model].LIB
#

ms.lib:
    lbmake mlib s

ml.lib:
    lbmake mlib l

msp.lib:
    lbmake mlib s p

msr.lib:
    lbmake mlib s r

mpl.lib:
    lbmake mlib p l

mrl.lib:
    lbmake mlib r l

msrp.lib:
    lbmake mlib s r p

mrpl.lib:
    lbmake mlib r p l


#   ROM[model].LIB
#

roms.lib:
    lbmake rom s

romsr.lib:
    lbmake rom s r

roml.lib:
    lbmake rom l

romrl.lib:
    lbmake rom r l

#   AMIGA13[model].lib:

amiga13l.lib:	$(DLIB)amiga13l.lib

$(DLIB)amiga13l.lib : ORIGINAL/amiga13l.lib
    copy %(right) %(left)

amiga13s.lib:	$(DLIB)amiga13s.lib

$(DLIB)amiga13s.lib : $(DLIB)amiga13l.lib
    libtos $(DLIB)amiga13l.lib $(DLIB)amiga13s.lib

amiga13sp.lib:
    setenv DCCOPTS "-1.3 -// -R -s -sym"
    lbmake amiga13 s p

amiga13pl.lib:
    setenv DCCOPTS "-1.3 -// -R -s -sym"
    lbmake amiga13 p l

#   AMIGA20[model].lib
#
#   The amiga20l.lib from commodore has some incorrect tags, this stuff
#   here fixes that.  dlib.orig/amiga20l.lib contains the actual, original
#   Commodore library.	The amiga20l.lib provided with DICE is exactly
#   that plus bug fixes to the Commodore library.

amiga20l.lib:	
# $(DLIB)amiga20l.lib
#$(DLIB)amiga20l.lib: ORIGINAL/amiga21l.lib amiga20_func_l.lib
#    join $(DLIB)amiga20_func_l.lib $(DLIB)/dlib.orig/amiga20l.lib AS %(left)
    setenv DCCOPTS "-2.0 -// -R -s -sym"
    lbmake amiga20 l

amiga20s.lib:	
# $(DLIB)amiga20s.lib
#$(DLIB)amiga20s.lib : $(DLIB)amiga20l.lib
#    libtos $(DLIB)amiga20l.lib $(DLIB)amiga20s.lib
    setenv DCCOPTS "-2.0 -// -R -s -sym"
    lbmake amiga20 s

amiga20s.lib.free:
    setenv DCCOPTS "-2.0 -// -R -s -sym"
    lbmake free20 s

amiga20sp.lib.free:
    setenv DCCOPTS "-2.0 -// -R"
    lbmake -nosym free20 s p

amiga20sp.lib:
    setenv DCCOPTS "-2.0 -// -R"
    lbmake -nosym amiga20 s p

amiga20sr.lib:
    setenv DCCOPTS "-2.0 -// -R -s -sym"
    lbmake amiga20 s r

amiga20pl.lib:
    setenv DCCOPTS "-2.0 -// -R"
    lbmake -nosym amiga20 p l

amiga20rl.lib:
    setenv DCCOPTS "-2.0 -// -R -s -sym"
    lbmake amiga20 r l

amiga20srp.lib:
    setenv DCCOPTS "-2.0 -// -R"
    lbmake -nosym amiga20 s r p

amiga20rpl.lib:
    setenv DCCOPTS "-2.0 -// -R"
    lbmake -nosym amiga20 r p l

amiga20_func_l.lib:
    setenv DCCOPTS "-2.0 -// -R -s -sym"
    lbmake a20func l


#   AMIGA30[model].lib
#
#   ORIGINAL/amiga30l.lib contains the actual, original
#   Commodore library.	The amiga30l.lib provided with DICE is exactly
#   that.

amiga30l.lib:	
#$(DLIB)amiga30l.lib
#$(DLIB)amiga30l.lib : ORIGINAL/amiga31l.lib
#    copy %(right) %(left)
    set DCCOPTS "-3.0 -// -R -s -sym"
    lbmake amiga30 l

amiga30s.lib:	
# $(DLIB)amiga30s.lib
#$(DLIB)amiga30s.lib : $(DLIB)amiga30l.lib
#    libtos $(DLIB)amiga30l.lib $(DLIB)amiga30s.lib
   setenv DCCOPTS "-3.0 -// -R -s -sym"
    lbmake amiga30 s

amiga30sp.lib:
    setenv DCCOPTS "-3.0 -// -R"
    lbmake -nosym amiga30 s p

amiga30sr.lib:
    setenv DCCOPTS "-3.0 -// -R -s -sym"
    lbmake amiga30 s r

amiga30pl.lib:
    setenv DCCOPTS "-3.0 -// -R"
    lbmake -nosym amiga30 p l

amiga30rl.lib:
    setenv DCCOPTS "-3.0 -// -R -s -sym"
    lbmake amiga30 r l

amiga30srp.lib:
    setenv DCCOPTS "-3.0 -// -R"
    lbmake -nosym amiga30 s r p

amiga30rpl.lib:
    setenv DCCOPTS "-3.0 -// -R"
    lbmake -nosym amiga30 r p l

FD20FILES= asl battclock battmem cia commodities console diskfont \
	 dos exec expansion gadtools graphics icon iffparse \
	input misc intuition keymap layers mathffp mathieeedoubbas \
	mathieeedoubtrans mathieeesingbas mathieeesingtrans mathtrans \
	potgo ramdrive timer translator utility wb disk rexxsyslib

INLINE20FD=	$(FD20FILES:"*":"dinclude:amiga20/fd/*_lib.fd")
INLINE20PROTOS= $(FD20FILES:"*":"dinclude:xclib/*_protos.h")

inline20:  $(INLINE20PROTOS)

$(INLINE20PROTOS) : $(INLINE20FD)
    cd dinclude:
    fd2pragma %(right) %(left)
    cd

#    fdtopragma %(right) %(right:"*/fd/*_lib.fd":"amiga20/clib/%2_protos.h") -o %(left)
#    cd

FD30FILES= amigaguide asl battclock battmem bullet cardres cia colorwheel \
	commodities \
	console datatypes diskfont disk dos dtclass exec expansion gadtools \
	graphics icon iffparse input intuition keymap layers locale mathffp \
	mathieeedoubbas mathieeedoubtrans mathieeesingbas mathieeesingtrans \
	mathtrans misc potgo ramdrive rexxsyslib timer utility wb


INLINE30FD=	$(FD20FILES:"*":"dinclude:amiga20/fd/*_lib.fd")
INLINE30PROTOS= $(FD20FILES:"*":"dinclude:xclib/*_protos.h")

inline30:  $(INLINE30PROTOS)

$(INLINE30PROTOS) : $(INLINE30FD)
    cd dinclude:
    fd2pragma %(right) %(left)
    cd


clean:
    -delete $(DLIB)#?.lib
    -delete $(DLIB)#?.o

cleaninline:
    -delete $(INLINE20PROTOS)
    -delete $(INLINE30PROTOS)
