]> 4ch.mooo.com Git - plz.git/blob - makefile
polish repo ww
[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 = copper.lib tweak.$(OBJ) plz.$(OBJ) asmyt.$(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 #\r
75 #executable's objects\r
76 #\r
77 plzpart.$(OBJ): plzpart.h plzpart.c\r
78         wcl $(FLAGS) -c plzpart.c\r
79 \r
80 #\r
81 #non executable objects libraries\r
82 #\r
83 plz.$(OBJ): plz.h plz.c copper.lib\r
84         wcl $(FLAGS) -c plz.c copper.lib\r
85 tweak.$(OBJ): tweak.h tweak.c\r
86         wcl $(FLAGS) -c tweak.c\r
87 asmyt.$(OBJ): asmyt.h asmyt.c\r
88         wcl $(FLAGS) -c asmyt.c\r
89 copper.lib: copper.$(OBJ)\r
90         wlib -b copper.lib copper.$(OBJ)\r
91 copper.$(OBJ): copper.h copper.c copper.ass\r
92 #       wcl $(AFLAGS) -zcm=tasm -c copper.asm\r
93 #       wasm $(AFLAGS) -c copper.ass\r
94         wcl $(FLAGS) -c copper.c\r
95 \r
96 #tasm compiled...\r
97 # copper.$(OBJ): copper.h copper.asm\r
98 #       wcl $(AFLAGS) -zcm=tasm -c copper.asm\r
99 # tweak.$(OBJ): tweak.h tweak.asm\r
100 #       wcl $(AFLAGS) -zcm=tasm -c tweak.asm\r
101 # asmyt.$(OBJ): asmyt.h asmyt.asm\r
102 #       wcl $(AFLAGS) -zcm=tasm -c asmyt.asm\r
103 \r
104 #\r
105 #other~\r
106 #\r
107 clean: .symbolic\r
108         @$(REMOVECOMMAND) copper.lib\r
109         @wlib -n copper.lib\r
110         @$(REMOVECOMMAND) $(EXEC)\r
111 #       @$(REMOVECOMMAND) *.$(OBJ)\r
112         @$(REMOVECOMMAND) *.o\r
113 \r
114 backupconfig: .symbolic\r
115         @$(COPYCOMMAND) .git$(DIRSEP)config git_con.fig\r
116         #@$(COPYCOMMAND) .gitmodules git_modu.les\r
117         @$(COPYCOMMAND) .gitignore git_igno.re\r
118 \r
119 initlibs: .symbolic\r
120         @cp git_con.fig .git/config\r
121         #@cp git_modu.les .gitmodules\r
122         @cp git_igno.re .gitignore\r