.make

# beispiel einer makedatei zum compilieren von MiNT

.srcpath = G:\mint\m109
.binpath = G:\gnu\bin

.MODEL   = -mshort
.DEFS    = -DDEBUG_INFO
.CFLAGS  = -G -Wall -O2 -fomit-frame-pointer
.ASFLAGS = $(MODEL)
.ATFLAGS = -gas

.AT = atrans.ttp
.CC = gcc.ttp -c $(MODEL) $(CFLAGS) $(DEFS)
.CC = gcc.ttp -c $(MODEL) $(CFLAGS)
.AS = gcc.ttp -c $(ASFLAGS)
.LL = gcc.ttp
.ATRANS = G:\mint\m109\asmtrans.ttp

.COBJS  = bios.o xbios.o console.o dos.o dosdir.o dosfile.o dosmem.o dossig.o \
   filesys.o main.o mem.o proc.o signal.o timeout.o tty.o util.o \
   biosfs.o pipefs.o procfs.o tosfs.o debug.o rendez.o \
   unifs.o shmfs.o fasttext.o welcome.o nalloc2.o memprot.o realloc.o

.SOBJS  = context.o intr.o syscall.o quickzer.o quickmov.o cpu.o

.HFILES = mint.h proc.h file.h

.ATRANSOBJ = asmtab.o trutil.o trans.o

.LIBS = -liio16

# --- link      -------------------------------------------------
mintnp.prg: $(COBJS) $(SOBJS)
   $(LL) -v $(MODEL) $(COBJS) $(SOBJS) -o mintnp.prg $(LIBS)
   prgflags.prg 7 7 mintnp.prg
   xstrip.ttp mintnp.prg

# --- compile   -------------------------------------------------

bios.o:     bios.c    $(HFILES) inline.h
   $(CC) bios.c
   
xbios.o:    xbios.c   $(HFILES)
   $(CC) xbios.c
   
console.o:  console.c $(HFILES)
   $(CC) console.c
   
dos.o:      dos.c     $(HFILES)
   $(CC) dos.c
   
dosdir.o:   dosdir.c  $(HFILES)
   $(CC) dosdir.c
   
dosfile.o:  dosfile.c $(HFILES)
   $(CC) dosfile.c
   
dosmem.o:   dosmem.c  $(HFILES)
   $(CC) dosmem.c
   
dossig.o:   dossig.c  $(HFILES)
   $(CC) dossig.c
   
filesys.o:  filesys.c $(HFILES)
   $(CC) filesys.c
   
main.o:     main.c    $(HFILES) version.h
   $(CC) main.c
   
mem.o:      mem.c     $(HFILES)
   $(CC) mem.c
   
proc.o:     proc.c    $(HFILES)
   $(CC) proc.c
   
signal.o:   signal.c  $(HFILES)
   $(CC) signal.c
   
timeout.o:  timeout.c $(HFILES)
   $(CC) timeout.c
   
tty.o:      tty.c     $(HFILES)
   $(CC) tty.c
   
util.o:     util.c    $(HFILES)
   $(CC) util.c
   
biosfs.o:   biosfs.c  $(HFILES)
   $(CC) biosfs.c
   
pipefs.o:   pipefs.c  $(HFILES)
   $(CC) pipefs.c
   
procfs.o:   procfs.c  $(HFILES)
   $(CC) procfs.c
   
tosfs.o:    tosfs.c   $(HFILES)
   $(CC) tosfs.c
   
debug.o:    debug.c   $(HFILES)
   $(CC) debug.c
   
rendez.o:   rendez.c  $(HFILES)
   $(CC) rendez.c
   
unifs.o:    unifs.c   $(HFILES)
   $(CC) unifs.c
   
shmfs.o:    shmfs.c   $(HFILES)
   $(CC) shmfs.c
   
fasttext.o: fasttext.c $(HFILES)
   $(CC) fasttext.c
   
nalloc2.o:  nalloc2.c $(HFILES)
   $(CC) nalloc2.c
   
welcome.o:  welcome.c $(HFILES)
   $(CC) welcome.c
   
realloc.o:  realloc.c $(HFILES)
   $(CC) realloc.c
   
memprot.o:  memprot.c $(HFILES)
   $(CC) memprot.c

# --- generate and asssemble ass-files -------------------------------------

quickzer.o: quickzer.spp proc.h
   $(ATRANS) $(ATFLAGS) -o quickzer.s quickzer.spp
   $(AS) -o quickzer.o quickzer.s

quickmov.o: quickmov.spp proc.h
   $(ATRANS) $(ATFLAGS) -o quickmov.s quickmov.spp
   $(AS) -o quickmov.o quickmov.s

cpu.o:      cpu.spp proc.h
   $(ATRANS) $(ATFLAGS) -o cpu.s cpu.spp
   $(AS) -o cpu.o cpu.s

context.o:  context.spp proc.h magic.i
   $(ATRANS) $(ATFLAGS) -o context.s context.spp
   $(AS) -o context.o context.s

syscall.o:  syscall.spp proc.h magic.i
   $(ATRANS) $(ATFLAGS) -o syscall.s syscall.spp
   $(AS) -o syscall.o syscall.s
     
intr.o:     intr.spp proc.h magic.i
   $(ATRANS) $(ATFLAGS) -o intr.s intr.spp
   $(AS) -o intr.o intr.s

# --- generate magic.i ------------------------------------------

magic.i:       genmagic.ttp
   G:\mint\m109\genmagic.ttp magic.i

genmagic.ttp:  genmagic.o
   $(LL) $(MODEL) -o genmagic.ttp genmagic.o

genmagic.o:    genmagic.c proc.h file.h
   $(CC) -DGENMAGIC genmagic.c
