]> 4ch.mooo.com Git - plz.git/blob - makefile
7d047242199d4951a5c9d2d2b530d69e29821c64
[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 \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
62 \r
63 EXEC = plzpart.exe\r
64 OBJS = tweak.$(OBJ) plz.$(OBJ) asmyt.$(OBJ) copper.$(OBJ)\r
65 \r
66 all: $(EXEC)\r
67 \r
68 #\r
69 #executables\r
70 #\r
71 plzpart.exe: plzpart.$(OBJ) $(OBJS)\r
72         wcl $(FLAGS) $(PLZFLAGS) plzpart.$(OBJ) $(OBJS) -fm=plzpart.map\r
73 \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
76 #.C.OBJ:\r
77 #       %write temp.cmd $(CFLAGS_THIS) $(CFLAGS_CON) $[@\r
78 #       wcl @temp.cmd\r
79 \r
80 #\r
81 #executable's objects\r
82 #\r
83 plzpart.$(OBJ): plzpart.h plzpart.c\r
84         wcl $(FLAGS) -c plzpart.c\r
85 \r
86 #\r
87 #non executable objects libraries\r
88 #\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
101 \r
102 #tasm compiled...\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
109 \r
110 #\r
111 #other~\r
112 #\r
113 clean: .symbolic\r
114         #@$(REMOVECOMMAND) copper.lib\r
115         #@wlib -n copper.lib\r
116         @$(REMOVECOMMAND) $(EXEC)\r
117 #       @$(REMOVECOMMAND) *.$(OBJ)\r
118         @$(REMOVECOMMAND) *.o\r
119 \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
124 \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