# # Higanbana Project makefile # # # Possible optimizations for 8088 class processors # # -oa Relax alias checking # -ob Try to generate straight line code # -oe - expand user functions inline (-oe=20 is default, adds lots of code) # -oh Enable repeated optimizations # -oi generate certain lib funcs inline # -oi+ Set max inline depth (C++ only, use -oi for C) # -ok Flowing of register save into function flow graph # -ol loop optimizations # -ol+ loop optimizations plus unrolling # -or Reorder for pipelined (486+ procs); not sure if good to use # -os Favor space over time # -ot Favor time over space # -ei Allocate an "int" for all enum types # -zp2 Allow compiler to add padding to structs # -zpw Use with above; make sure you are warning free! # -0 8088/8086 class code generation # -s disable stack overflow checking # -zk0u translate kanji to unicode... wwww # -zk0 kanji support~ # -zkl current codepage #%.C #192x144 #wwww will add these !ifdef __LINUX__ REMOVECOMMAND=rm -f COPYCOMMAND=cp -f DIRSEP=/ OBJ=o !else REMOVECOMMAND=del COPYCOMMAND=copy /y DIRSEP=\ OBJ=obj !endif #!ifndef INCLUDE #IN=..$(DIRSEP)..$(DIRSEP)fdos$(DIRSEP)watcom2$(DIRSEP)h #IFLAGS=-i=$(IN) #!endif TARGET_OS = dos #EXMMTESTDIR=16$(DIRSEP)exmmtest$(DIRSEP) SRC=src$(DIRSEP) SRCLIB=$(SRC)lib$(DIRSEP) AFLAGS=-mh -0 -d1 -e=65536 PLZFLAGS=-fh=plzpart.hed SFLAGS=-sg -st -of+ -zu -zdf -zff -zgf -k32768 DFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1 $(SFLAGS) ZFLAGS=-zk0 -zq -zc -zp8# -zm CFLAGS=$(AFLAGS) $(IFLAGS)-lr -l=dos -wo##wwww OFLAGS=-obmiler -out -oh -ei -zp8 -fpi87 -onac -ol+ -ok####x FLAGS=$(CFLAGS) $(OFLAGS) $(DFLAGS) $(ZFLAGS) EXEC = plzpart.exe OBJS = tweak.$(OBJ) plz.$(OBJ) asmyt.$(OBJ) copper.$(OBJ) all: $(EXEC) # #executables # plzpart.exe: plzpart.$(OBJ) $(OBJS) wcl $(FLAGS) $(PLZFLAGS) plzpart.$(OBJ) $(OBJS) -fm=plzpart.map # NTS we have to construct the command line into tmp.cmd because for MS-DOS # systems all arguments would exceed the pitiful 128 char command line limit #.C.OBJ: # %write temp.cmd $(CFLAGS_THIS) $(CFLAGS_CON) $[@ # wcl @temp.cmd # #executable's objects # plzpart.$(OBJ): plzpart.h plzpart.c wcl $(FLAGS) -c plzpart.c # #non executable objects libraries # plz.$(OBJ): plz.h plz.c wcl $(FLAGS) -c plz.c tweak.$(OBJ): tweak.h tweak.c #wasm $(AFLAGS) -zcm=tasm -c tweak.asm wcl $(FLAGS) -c tweak.c asmyt.$(OBJ): asmyt.h asmyt.c #wasm $(AFLAGS) -zcm=tasm -c asmyt.asm wcl $(FLAGS) -c asmyt.c copper.$(OBJ): copper.h copper.asm#copper.c wasm $(AFLAGS) -zcm=tasm -c copper.asm # wasm $(AFLAGS) -c copper.ass # wcl $(FLAGS) -c copper.c #tasm compiled... # copper.$(OBJ): copper.h copper.asm # wcl $(AFLAGS) -zcm=tasm -c copper.asm # tweak.$(OBJ): tweak.h tweak.asm # wcl $(AFLAGS) -zcm=tasm -c tweak.asm # asmyt.$(OBJ): asmyt.h asmyt.asm # wcl $(AFLAGS) -zcm=tasm -c asmyt.asm # #other~ # clean: .symbolic #@$(REMOVECOMMAND) copper.lib #@wlib -n copper.lib @$(REMOVECOMMAND) $(EXEC) # @$(REMOVECOMMAND) *.$(OBJ) @$(REMOVECOMMAND) *.o backupconfig: .symbolic @$(COPYCOMMAND) .git$(DIRSEP)config git_con.fig #@$(COPYCOMMAND) .gitmodules git_modu.les @$(COPYCOMMAND) .gitignore git_igno.re initlibs: .symbolic @cp git_con.fig .git/config #@cp git_modu.les .gitmodules @cp git_igno.re .gitignore