equi

A self-descriptive stack-based PC platform
git clone git://git.luxferre.top/equi.git
Log | Files | Refs | README | LICENSE

Makefile (1325B)


      1 # Equi reference implementation build project
      2 
      3 PROJNAME=equi
      4 CFILES=equi.c
      5 PBTDIR=platform-build-tools
      6 PERSFILE=PERS.DAT
      7 # Apple IIe target configuration
      8 A2FLAGS=-DSTACK_SIZE=256 -DLIT_STACK_SIZE=32 -DGPD_AREA_SIZE=1024 -DCMD_BUF_SIZE=13400 -DCLT_ENTRIES_MAX=256 -DEQUI_TASKS_MAX=4
      9 # POSIX desktop target configuration
     10 PDFLAGS=-DSTACK_SIZE=256 -DLIT_STACK_SIZE=32 -DGPD_AREA_SIZE=3072 -DCMD_BUF_SIZE=20000 -DCLT_ENTRIES_MAX=512 -DEQUI_TASKS_MAX=8
     11 # Common flags
     12 DFLAGS=-DPERSIST_FILE="\"$(PERSFILE)\""
     13 
     14 desktopcc: perscopy
     15 	cc -std=c89 -Os -o $(PROJNAME) $(CFILES) $(PDFLAGS) $(DFLAGS)
     16 #	strip $(PROJNAME)
     17 
     18 tcc: perscopy
     19 	tcc -std=c89 -o $(PROJNAME) $(CFILES) $(PDFLAGS) $(DFLAGS)
     20 
     21 a2-build:
     22 	cl65 --standard c89 -O -Os -t apple2enh -C apple2enh-system.cfg -o $(PROJNAME).a2enh $(A2FLAGS) $(DFLAGS) $(CFILES)
     23 
     24 a2: a2-build
     25 	cp $(PBTDIR)/apple2/tpl.dsk $(PROJNAME)-enh.dsk
     26 	java -jar $(PBTDIR)/apple2/ac.jar -p $(PROJNAME)-enh.dsk $(PROJNAME).system sys < $$(cl65 --print-target-path)/apple2enh/util/loader.system
     27 	java -jar $(PBTDIR)/apple2/ac.jar -as $(PROJNAME)-enh.dsk $(PROJNAME) bin < $(PROJNAME).a2enh
     28 	java -jar $(PBTDIR)/apple2/ac.jar -dos $(PROJNAME)-enh.dsk $(PERSFILE) bin < $(PBTDIR)/$(PERSFILE)
     29 
     30 perscopy:
     31 	cp $(PBTDIR)/$(PERSFILE) $(PERSFILE)
     32 
     33 clean:
     34 	rm -f ./$(PROJNAME) $(PERSFILE) *.dsk *.o *.apple2 *.a2enh