2 # Higanbana Project makefile
\r
5 # Possible optimizations for 8088 class processors
\r
7 # -oa Relax alias checking
\r
8 # -ob Try to generate straight line code
\r
9 # -oe - expand user functions inline (-oe=20 is default, adds lots of code)
\r
10 # -oh Enable repeated optimizations
\r
11 # -oi generate certain lib funcs inline
\r
12 # -oi+ Set max inline depth (C++ only, use -oi for C)
\r
13 # -ok Flowing of register save into function flow graph
\r
14 # -ol loop optimizations
\r
15 # -ol+ loop optimizations plus unrolling
\r
16 # -or Reorder for pipelined (486+ procs); not sure if good to use
\r
17 # -os Favor space over time
\r
18 # -ot Favor time over space
\r
19 # -ei Allocate an "int" for all enum types
\r
20 # -zp2 Allow compiler to add padding to structs
\r
21 # -zpw Use with above; make sure you are warning free!
\r
22 # -0 8088/8086 class code generation
\r
23 # -s disable stack overflow checking
\r
25 # -zk0u translate kanji to unicode... wwww
\r
26 # -zk0 kanji support~
\r
27 # -zkl current codepage
\r
31 #wwww will add these
\r
44 #IN=..$(DIRSEP)..$(DIRSEP)fdos$(DIRSEP)watcom2$(DIRSEP)h
\r
50 #EXMMTESTDIR=16$(DIRSEP)exmmtest$(DIRSEP)
\r
52 SRCLIB=$(SRC)lib$(DIRSEP)
\r
54 AFLAGS=-mh -0 -d1 -e=65536
\r
55 PLZFLAGS=-fh=plzpart.hed
\r
56 SFLAGS=-sg -st -of+ -zu -zdf -zff -zgf -k32768
\r
57 DFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1 $(SFLAGS)
\r
58 ZFLAGS=-zk0 -zq -zc -zp8# -zm
\r
59 CFLAGS=$(AFLAGS) $(IFLAGS)-lr -l=dos -wo##wwww
\r
60 OFLAGS=-obmiler -out -oh -ei -zp8 -fpi87 -onac -ol+ -ok####x
\r
61 FLAGS=$(CFLAGS) $(OFLAGS) $(DFLAGS) $(ZFLAGS)
\r
64 OBJS = tweak.$(OBJ) plz.$(OBJ) asmyt.$(OBJ) copper.$(OBJ)
\r
71 plzpart.exe: plzpart.$(OBJ) $(OBJS)
\r
72 wcl $(FLAGS) $(PLZFLAGS) plzpart.$(OBJ) $(OBJS) -fm=plzpart.map
\r
74 # NTS we have to construct the command line into tmp.cmd because for MS-DOS
\r
75 # systems all arguments would exceed the pitiful 128 char command line limit
\r
77 # %write temp.cmd $(CFLAGS_THIS) $(CFLAGS_CON) $[@
\r
81 #executable's objects
\r
83 plzpart.$(OBJ): plzpart.h plzpart.c
\r
84 wcl $(FLAGS) -c plzpart.c
\r
87 #non executable objects libraries
\r
89 plz.$(OBJ): plz.h plz.c
\r
90 wcl $(FLAGS) -c plz.c
\r
91 tweak.$(OBJ): tweak.h tweak.c
\r
92 #wasm $(AFLAGS) -zcm=tasm -c tweak.asm
\r
93 wcl $(FLAGS) -c tweak.c
\r
94 asmyt.$(OBJ): asmyt.h asmyt.c
\r
95 #wasm $(AFLAGS) -zcm=tasm -c asmyt.asm
\r
96 wcl $(FLAGS) -c asmyt.c
\r
97 copper.$(OBJ): copper.h copper.asm#copper.c
\r
98 # wasm $(AFLAGS) -zcm=tasm -c copper.asm
\r
99 wasm $(AFLAGS) -c copper.ass
\r
100 # wcl $(FLAGS) -c copper.c
\r
103 # copper.$(OBJ): copper.h copper.asm
\r
104 # wcl $(AFLAGS) -zcm=tasm -c copper.asm
\r
105 # tweak.$(OBJ): tweak.h tweak.asm
\r
106 # wcl $(AFLAGS) -zcm=tasm -c tweak.asm
\r
107 # asmyt.$(OBJ): asmyt.h asmyt.asm
\r
108 # wcl $(AFLAGS) -zcm=tasm -c asmyt.asm
\r
114 #@$(REMOVECOMMAND) copper.lib
\r
115 #@wlib -n copper.lib
\r
116 @$(REMOVECOMMAND) $(EXEC)
\r
117 # @$(REMOVECOMMAND) *.$(OBJ)
\r
118 @$(REMOVECOMMAND) *.o
\r
120 backupconfig: .symbolic
\r
121 @$(COPYCOMMAND) .git$(DIRSEP)config git_con.fig
\r
122 #@$(COPYCOMMAND) .gitmodules git_modu.les
\r
123 @$(COPYCOMMAND) .gitignore git_igno.re
\r
125 initlibs: .symbolic
\r
126 @cp git_con.fig .git/config
\r
127 #@cp git_modu.les .gitmodules
\r
128 @cp git_igno.re .gitignore
\r