1 ///////////////////////////////////////////////////////////////////////////////
4 // LSIIT - ULP - CNRS - INRIA - FRANCE //
6 // This program is free software: you can redistribute it and/or modify //
7 // it under the terms of the GNU General Public License as published by //
8 // the Free Software Foundation, either version 3 of the License, or //
9 // (at your option) any later version. //
11 // This program is distributed in the hope that it will be useful, //
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of //
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
14 // GNU General Public License for more details. //
16 // You should have received a copy of the GNU General Public License //
17 // along with this program. If not, see <http://www.gnu.org/licenses/>. //
19 // http://isaacproject.u-strasbg.fr/ //
20 ///////////////////////////////////////////////////////////////////////////////
22 // Lisaac Path Directory System (by Benoit Sonntag).
26 // This file is not a Lisaac prototype.
27 // It's define the profile path directory for to compile code, with a target.
28 // `+' : append new string variable.
29 // `-' : append new directory.
30 // `*' : execute command after compilation.
34 // - `lisaac' is environment variable value.
35 // - `input_file' is input file name value.
36 // - `output_file' is output file name value.
37 // - `target' is a target value.
43 Section COMPILER, SHORTER
45 + source := lisaac + "src/";
50 - source + "constant/";
51 - source + "variable/";
52 - source + "external/";
53 - source + "external/logic/";
54 - source + "external/arithmetic/";
55 - source + "external/comparison/";
56 - source + "dispatcher/";
57 - source + "context/";
58 - source + "code_life/";
60 Section COMPILER, SHORTER
62 * "gcc " + input_file + " -o " + output_file;
66 - source + "compiler_any/";
70 - source + "shorter_any/";
72 * "cp shorter ../bin/.";
73 * "cp shorter.c ../bin/.";
80 + lib := lisaac + "lib/";
81 + lib_os := lisaac + "lib_os/";
83 + unix := lib_os + "unix/";
84 + windows := lib_os + "windows/";
85 + dos := lib_os + "dos/";
89 - lib + "base/low_level/";
90 - lib + "collection/";
91 - lib + "collection/low_level/";
92 - lib + "file_system/";
95 - lib + "format/bmp/";
97 - lib + "graphics/low_level/";
99 - lib + "gui/clipping/";
100 - lib + "gui/event/";
101 - lib + "gui/input/";
102 - lib + "gui/low_level/";
107 - lib + "number/low_level/";
112 Section UNIX, DOS, COMPILER, SHORTER
115 - unix + "file_system/";
119 + path_lib_x11 := "/usr/lib";
123 * "gcc " + input_file + " -O3 -fomit-frame-pointer -lm -lX11 -o " +
124 output_file + " -L" + path_lib_x11 + option_gcc;
126 //* "gcc -D_ISOC9X_SOURCE -O3 -mfpmath=sse -msse2 -march=pentium4 -ffast-math -funroll-loops -o " +
127 //output_file + " " + input_file + " -lm";
129 //* "gcc -D_ISOC9X_SOURCE -O3 -mfpmath=sse -msse2 -march=pentium4 -ffast-math -funroll-loops -o " +
130 //"mandelbrot_c mandelbrot_c.c -lm";
135 - windows + "file_system/";
136 - unix + "file_system/";
137 - windows + "video/";
139 * "gcc " + input_file + " -o " + output_file + ".exe -lgdi32 " + option_gcc;
143 - dos + "file_system/";
146 * "gcc " + input_file + " -o " + output_file + ".exe " + option_gcc;
148 // ********************************
150 // ********************************
151 Section X86, IPAQ, ST2XX, LINUX
156 + isaac := "/home/sonntag/svn/isaac/trunk/isaacos/";
157 + isaac_stdlib := isaac + "stdlib/";
158 + isaac_software := isaac + "software/";
164 - isaac_stdlib + "driver/";
165 - isaac_stdlib + "driver/clock";
166 - isaac_stdlib + "driver/keyboard";
167 - isaac_stdlib + "driver/mouse";
168 - isaac_stdlib + "driver/video";
170 - isaac_stdlib + "event/";
172 - isaac_stdlib + "file_system/";
174 - isaac_stdlib + "format/";
175 - isaac_stdlib + "format/freetype";
177 - isaac_stdlib + "interface/";
178 - isaac_stdlib + "interface/clipping";
179 - isaac_stdlib + "interface/group";
180 - isaac_stdlib + "interface/item";
182 - isaac_stdlib + "system/";
188 - isaac_software + "about/";
190 - isaac_software + "console/";
192 - isaac_software + "game/fouronline";
193 - isaac_software + "game/tetris";
195 - isaac_software + "panel";
197 - isaac_software + "viewer";
201 + machine := isaac + "x86/";
203 // Specific directory
205 - machine + "file_system/physical";
206 - machine + "file_system/partition";
209 // * "gcc -specs=" + isaac + "tool/gcc/x86/specs " + input_file + " -c -fPIC";
210 // * "cp -f startup.o ../loader/";
211 * "gcc -specs=" + isaac + "tool/gcc/x86/specs " + input_file + " -o " + output_file;
212 * isaac+"tool/elf2eof/elf2eof -v -p 2048 "+output_file+" -prepend "+isaac+"x86/bootloader/startup.com";
214 * "mv startup.eof startup.sys";
215 * "./dosemu c startup.sys .";
219 // * "mount /floppy";
220 // * "cp -f startup.eof /mnt/floppy/startup.sys";
221 // * "umount /floppy";
225 + machine := isaac + "ipaq/";
227 * "arm-linux-gcc -specs="+isaac+"tool/gcc/ipaq/specs -nostdlib " + input_file + " -O3 -o " + output_file;
228 * isaac+"tool/elf2eof/elf2eof -f " + output_file + " -append "+isaac+"image/isaac.ai "+isaac+"image/newton.bmp";
232 + machine := isaac + "st2xx/";
234 // * "/home/sonntagb/lxbe/le/bin/gcc entry_isaac.s -c";
235 * "/home/sonntagb/lxbe/le/bin/gcc " + input_file + " -c";
236 * "/home/sonntagb/lxbe/le/bin/ld -EL "+output_file+".o -o "+output_file+" -T../tool/gcc/st2xx/isaac.x";
241 - unix + "file_system/";
242 + machine := isaac + "linux/";
244 // Specific directory
246 * "gcc -L/usr/X11R6/lib -lX11 -lXext " + input_file + " -o " + output_file;
248 Section IPAQ, X86, ST2XX, LINUX
254 - machine + "driver/";
255 - machine + "driver/clock";
256 - machine + "driver/keyboard";
257 - machine + "driver/mouse";
258 - machine + "driver/video";
260 - machine + "file_system/";
262 - machine + "system/";