]> 4ch.mooo.com Git - plz.git/blob - makefile
assembly files ...
[plz.git] / makefile
1 #\r
2 #       Higanbana Project makefile\r
3 #\r
4 #\r
5 # Possible optimizations for 8088 class processors\r
6 #\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
24 \r
25 # -zk0u translate kanji to unicode... wwww\r
26 # -zk0  kanji support~\r
27 # -zkl          current codepage\r
28 \r
29 #%.C\r
30 #192x144\r
31 #wwww will add these\r
32 !ifdef __LINUX__\r
33 REMOVECOMMAND=rm -f\r
34 COPYCOMMAND=cp -f\r
35 DIRSEP=/\r
36 OBJ=o\r
37 !else\r
38 REMOVECOMMAND=del\r
39 COPYCOMMAND=copy /y\r
40 DIRSEP=\\r
41 OBJ=obj\r
42 !endif\r
43 #!ifndef INCLUDE\r
44 #IN=..$(DIRSEP)..$(DIRSEP)fdos$(DIRSEP)watcom2$(DIRSEP)h\r
45 #IFLAGS=-i=$(IN)\r
46 #!endif\r
47 \r
48 TARGET_OS = dos\r
49 \r
50 #EXMMTESTDIR=16$(DIRSEP)exmmtest$(DIRSEP)\r
51 SRC=src$(DIRSEP)\r
52 SRCLIB=$(SRC)lib$(DIRSEP)\r
53 JSMNLIB=$(SRCLIB)jsmn$(DIRSEP)\r
54 NYANLIB=$(SRCLIB)nyan$(DIRSEP)\r
55 #EXMMLIB=$(SRCLIB)exmm$(DIRSEP)\r
56 MODEXLIB=$(SRCLIB)modex16$(DIRSEP)\r
57 MODEXLIB_=$(SRCLIB)modex$(DIRSEP)\r
58 VGMSNDLIB=$(SRCLIB)vgmsnd$(DIRSEP)\r
59 DOSLIB=$(SRCLIB)doslib$(DIRSEP)\r
60 WCPULIB=$(SRCLIB)wcpu$(DIRSEP)\r
61 \r
62 AFLAGS=-mh -0 -d1\r
63 16FLAGS=-fh=16.hed\r
64 BAKAPIFLAGS=-fh=bakapi.hed\r
65 SFLAGS=-sg -st -of+ -zu -zdf -zff -zgf -k55808#60000#32768\r
66 DFLAGS=-DTARGET_MSDOS=16 -DMSDOS=1 $(SFLAGS)\r
67 ZFLAGS=-zk0 -zq -zc -zp8# -zm\r
68 CFLAGS=$(AFLAGS) $(IFLAGS)-lr -l=dos -wo##wwww\r
69 OFLAGS=-obmiler -out -oh -ei -zp8 -fpi87  -onac -ol+ -ok####x\r
70 FLAGS=$(CFLAGS) $(OFLAGS) $(DFLAGS) $(ZFLAGS)\r
71 \r
72 \r
73 DOSLIBEXMMOBJ = himemsys.$(OBJ) emm.$(OBJ)\r
74 VGMSNDOBJ = vgmSnd.$(OBJ) 16_snd.$(OBJ)\r
75 DOSLIBOBJ = adlib.$(OBJ) 8254.$(OBJ) 8259.$(OBJ) dos.$(OBJ) cpu.$(OBJ)\r
76 16LIBOBJS = 16_in.$(OBJ) 16_mm.$(OBJ) wcpu.$(OBJ) 16_head.$(OBJ) 16_ca.$(OBJ) kitten.$(OBJ) 16_hc.$(OBJ) timer.$(OBJ)\r
77 #\r
78 #3812intf.$(OBJ)\r
79 GFXLIBOBJS = modex16.$(OBJ) bitmap.$(OBJ) planar.$(OBJ) 16text.$(OBJ) bakapee.$(OBJ) scroll16.$(OBJ) 16render.$(OBJ) 16planar.$(OBJ)\r
80 \r
81 TESTEXEC = exmmtest.exe test.exe pcxtest.exe pcxtest2.exe test2.exe palettec.exe maptest.exe fmemtest.exe fonttest.exe fontgfx.exe scroll.exe vgmtest.exe inputest.exe palettel.exe planrpcx.exe\r
82 # tsthimem.exe\r
83 #testemm.exe testemm0.exe fonttes0.exe miditest.exe sega.exe sountest.exe\r
84 EXEC = plzpart.exe\r
85 \r
86 all: $(EXEC)\r
87 \r
88 #\r
89 #game and bakapi executables\r
90 #\r
91 16.exe: 16.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) $(16LIBOBJS) gfx.lib\r
92         wcl $(FLAGS) $(16FLAGS) 16.$(OBJ) mapread.$(OBJ) jsmn.$(OBJ) $(16LIBOBJS) gfx.lib -fm=16.map\r
93 \r
94 \r
95 #\r
96 #executable's objects\r
97 #\r
98 16.$(OBJ): $(SRC)16.h $(SRC)16.c\r
99         wcl $(FLAGS) -c $(SRC)16.c\r
100 \r
101 #\r
102 #non executable objects libraries\r
103 #\r
104 16.lib: $(16LIBOBJS)# doslib.lib vgmsnd.lib\r
105         wlib -b -q $(16LIBOBJS) $(16LIBOBJS)# doslib.lib vgmsnd.lib\r
106 \r
107 #\r
108 #other~\r
109 #\r
110 clean: .symbolic\r
111         @$(REMOVECOMMAND) $(EXEC)\r
112         @$(REMOVECOMMAND) *.$(OBJ)\r