@@ -48,10 +48,10 @@ SECTOR_COUNT_BT_STAGE2 = 19
4848SECTOR_START_SHARED_LIBRARY = 1
4949SECTOR_COUNT_SHARED_LIBRARY = 1
5050SECTOR_START_KERNEL = 27
51- SECTOR_COUNT_KERNEL = 41
52- SECTOR_START_APP_TTT = 68
51+ SECTOR_COUNT_KERNEL = 33
52+ SECTOR_START_APP_TTT = 60
5353SECTOR_COUNT_APP_TTT = 25
54- SECTOR_START_APP_CALC = 93
54+ SECTOR_START_APP_CALC = 85
5555SECTOR_COUNT_APP_CALC = 25
5656
5757MEMORY_STATIC_LIBRARY = 0x7E00
@@ -63,6 +63,10 @@ SOURCE_SNAPSHOT="\"$$(git rev-parse --short HEAD)$$(git diff --quiet || echo '_u
6363# General Assumptions
6464# # Integer is 4 bytes
6565
66+ # Tools
67+ CC =gcc -std=c++11 -Os
68+
69+ # Targets
6670rebuild : clean all_artifacts
6771
6872test : $(image_vmdk ) $(wildcard tests/** /* )
@@ -157,7 +161,7 @@ $(bt_stage1): $(SRC_BOOTLOADER)/stage1.asm $(SRC_BOOTLOADER)/constants.asm $(SRC
157161$(bt_stage2 ) : $(SRC_BOOTLOADER ) /stage2.asm $(SRC_BOOTLOADER ) /stage2.c $(SRC_MEMMGR ) /tables/gdt.c $(SRC_BOOTLOADER ) /io.asm $(SRC_BOOTLOADER ) /constants.asm $(SRC_REALMODE ) /stub.asm $(BUILD_LIB_UTILS ) /libutils_16 $(BUILD_DRIVERS ) /display/libtm_bios $(BUILD_DRIVERS ) /disk/libdisk_16
158162 mkdir -p $$(dirname $(bt_stage2 ) )
159163 nasm -o $(BUILD_BOOTLOADER ) /stage2_asm.o -f elf32 -i $(SRC_BOOTLOADER ) / -i $(SRC_REALMODE ) / $(SRC_BOOTLOADER ) /stage2.asm
160- gcc -m16 -fno-pie -c -Isrc \
164+ $( CC ) -m16 -fno-pie -c -Isrc \
161165 -D SECTOR_START_SHARED_LIBRARY=$(SECTOR_START_SHARED_LIBRARY ) \
162166 -D SECTOR_COUNT_SHARED_LIBRARY=$(SECTOR_COUNT_SHARED_LIBRARY ) \
163167 -D SECTOR_START_KERNEL=$(SECTOR_START_KERNEL ) \
@@ -179,7 +183,7 @@ $(kernel_core): $(SRC_KERNEL)/core.asm $(SRC_KERNEL)/core.c $(SRC_KERNEL)/essent
179183 nasm -o $(BUILD_KERNEL ) /core_asm.o -f elf32 -i $(SRC_REALMODE ) / $(SRC_KERNEL ) /core.asm
180184 nasm -o $(BUILD_KERNEL ) /process_asm.o -f elf32 -i $(SRC_REALMODE ) / $(SRC_KERNEL ) /process.asm
181185 nasm -o $(BUILD_KERNEL ) /interrupts_asm.o -f elf32 $(SRC_KERNEL ) /interrupts.asm
182- gcc -m32 -fno-pie -c -Isrc \
186+ $( CC ) -m32 -fno-pie -c -Isrc \
183187 -D SECTOR_START_APP_TTT=$(SECTOR_START_APP_TTT ) \
184188 -D SECTOR_COUNT_APP_TTT=$(SECTOR_COUNT_APP_TTT ) \
185189 -D MEMORY_LOCATION_KERNEL=$(MEMORY_LOCATION_KERNEL ) \
@@ -199,66 +203,66 @@ $(app_entry): $(SRC_LIB)/app/entry.asm
199203$(BUILD_DRIVERS ) /display/libtm_bios : $(SRC_DRIVERS ) /display/text_mode_bios.c $(SRC_DRIVERS ) /display/text_mode_bios.asm $(SRC_DRIVERS ) /display/text_mode.h
200204 # 16 bit mode
201205 mkdir -p $(BUILD_DRIVERS ) /display/
202- gcc -m16 -fno-pie -c -Isrc -o $(BUILD_DRIVERS ) /display/text_mode_bios_c.o $(SRC_DRIVERS ) /display/text_mode_bios.c
206+ $( CC ) -m16 -fno-pie -c -Isrc -o $(BUILD_DRIVERS ) /display/text_mode_bios_c.o $(SRC_DRIVERS ) /display/text_mode_bios.c
203207 nasm -o $(SRC_DRIVERS ) /display/text_mode_bios_asm.o -f elf32 $(SRC_DRIVERS ) /display/text_mode_bios.asm
204208 ar rc $@ $(BUILD_DRIVERS ) /display/text_mode_bios_c.o $(SRC_DRIVERS ) /display/text_mode_bios_asm.o
205209
206210$(BUILD_DRIVERS ) /display/libtm_vga : $(SRC_DRIVERS ) /display/text_mode_vga.c $(SRC_DRIVERS ) /display/text_mode_vga.asm $(SRC_DRIVERS ) /display/text_mode.h
207211 mkdir -p $(BUILD_DRIVERS ) /display/
208- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_DRIVERS ) /display/text_mode_vga_c.o $(SRC_DRIVERS ) /display/text_mode_vga.c
212+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_DRIVERS ) /display/text_mode_vga_c.o $(SRC_DRIVERS ) /display/text_mode_vga.c
209213 nasm -o $(SRC_DRIVERS ) /display/text_mode_vga_asm.o -f elf32 $(SRC_DRIVERS ) /display/text_mode_vga.asm
210214 ar rc $@ $(BUILD_DRIVERS ) /display/text_mode_vga_c.o $(SRC_DRIVERS ) /display/text_mode_vga_asm.o
211215
212216$(BUILD_DRIVERS ) /keyboard/libkeyboard : $(SRC_DRIVERS ) /keyboard/keyboard.c $(SRC_DRIVERS ) /keyboard/keyboard.asm $(SRC_DRIVERS ) /keyboard/keyboard.h $(SRC_DRIVERS ) /keyboard/scancode_handler.c $(SRC_LIB_UTILS ) /time.h $(SRC_LIB_DS ) /queue.h $(BUILD_LIB_DS ) /libds
213217 mkdir -p $(BUILD_DRIVERS ) /keyboard/
214- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_DRIVERS ) /keyboard/keyboard_c.o $(SRC_DRIVERS ) /keyboard/keyboard.c
218+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_DRIVERS ) /keyboard/keyboard_c.o $(SRC_DRIVERS ) /keyboard/keyboard.c
215219 nasm -o $(BUILD_DRIVERS ) /keyboard/keyboard_asm.o -f elf32 $(SRC_DRIVERS ) /keyboard/keyboard.asm
216220 ar rc $@ $(BUILD_DRIVERS ) /keyboard/keyboard_c.o $(BUILD_DRIVERS ) /keyboard/keyboard_asm.o
217221
218222$(BUILD_DRIVERS ) /disk/libdisk_16 : $(SRC_DRIVERS ) /disk/disk_16.c $(SRC_DRIVERS ) /disk/disk_16.asm $(SRC_DRIVERS ) /disk/disk.h
219223 mkdir -p $(BUILD_DRIVERS ) /disk/
220- gcc -m16 -fno-pie -c -Isrc -o $(BUILD_DRIVERS ) /disk/disk_16_c.o $(SRC_DRIVERS ) /disk/disk_16.c
224+ $( CC ) -m16 -fno-pie -c -Isrc -o $(BUILD_DRIVERS ) /disk/disk_16_c.o $(SRC_DRIVERS ) /disk/disk_16.c
221225 nasm -o $(BUILD_DRIVERS ) /disk/disk_16_asm.o -f elf32 $(SRC_DRIVERS ) /disk/disk_16.asm
222226 ar rc $@ $(BUILD_DRIVERS ) /disk/disk_16_c.o $(BUILD_DRIVERS ) /disk/disk_16_asm.o
223227
224228$(BUILD_DRIVERS ) /disk/libdisk : $(SRC_DRIVERS ) /disk/disk.c $(SRC_DRIVERS ) /disk/disk.asm $(SRC_DRIVERS ) /disk/disk.h $(SRC_REALMODE ) /stub.asm
225229 mkdir -p $(BUILD_DRIVERS ) /disk/
226- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_DRIVERS ) /disk/disk_c.o $(SRC_DRIVERS ) /disk/disk.c
230+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_DRIVERS ) /disk/disk_c.o $(SRC_DRIVERS ) /disk/disk.c
227231 nasm -o $(BUILD_DRIVERS ) /disk/disk_asm.o -f elf32 -i $(SRC_REALMODE ) / $(SRC_DRIVERS ) /disk/disk.asm
228232 ar rc $@ $(BUILD_DRIVERS ) /disk/disk_c.o $(BUILD_DRIVERS ) /disk/disk_asm.o
229233
230234$(BUILD_LIB_UTILS ) /libutils_16 : $(SRC_LIB_UTILS ) /basic.c $(SRC_LIB_UTILS ) /basic_16.asm $(SRC_LIB_UTILS ) /logging.c $(SRC_LIB_UTILS ) /output.c $(SRC_LIB_UTILS ) /output.h $(SRC_LIB_UTILS ) /string.c $(SRC_LIB_UTILS ) /string.h $(SRC_LIB_UTILS ) /panic.c $(SRC_LIB_UTILS ) /panic.h $(SRC_LIB_UTILS ) /panic.asm $(SRC_LIB_UTILS ) /time.c $(SRC_LIB_UTILS ) /time.h $(SRC_LIB_UTILS ) /time.asm $(SRC_LIB_UTILS ) /color.c $(SRC_LIB_UTILS ) /color.h
231235 mkdir -p $(BUILD_LIB_UTILS ) /
232- gcc -m16 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /basic_16_c.o $(SRC_LIB_UTILS ) /basic.c
236+ $( CC ) -m16 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /basic_16_c.o $(SRC_LIB_UTILS ) /basic.c
233237 nasm -o $(BUILD_LIB_UTILS ) /basic_16_asm.o -f elf32 $(SRC_LIB_UTILS ) /basic_16.asm
234- gcc -m16 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /logging_16.o $(SRC_LIB_UTILS ) /logging.c
235- gcc -m16 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /output_16.o $(SRC_LIB_UTILS ) /output.c
236- gcc -m16 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /string_16.o $(SRC_LIB_UTILS ) /string.c
237- gcc -m16 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /color_16.o $(SRC_LIB_UTILS ) /color.c
238- gcc -m16 -fno-pie -c -D__SOURCE_SNAPSHOT__=$(SOURCE_SNAPSHOT ) -Isrc -o $(BUILD_LIB_UTILS ) /panic_16_c.o $(SRC_LIB_UTILS ) /panic.c
238+ $( CC ) -m16 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /logging_16.o $(SRC_LIB_UTILS ) /logging.c
239+ $( CC ) -m16 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /output_16.o $(SRC_LIB_UTILS ) /output.c
240+ $( CC ) -m16 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /string_16.o $(SRC_LIB_UTILS ) /string.c
241+ $( CC ) -m16 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /color_16.o $(SRC_LIB_UTILS ) /color.c
242+ $( CC ) -m16 -fno-pie -c -D__SOURCE_SNAPSHOT__=$(SOURCE_SNAPSHOT ) -Isrc -o $(BUILD_LIB_UTILS ) /panic_16_c.o $(SRC_LIB_UTILS ) /panic.c
239243 nasm -o $(BUILD_LIB_UTILS ) /panic_16_asm.o -f elf32 $(SRC_LIB_UTILS ) /panic.asm
240- gcc -m16 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /time_16_c.o $(SRC_LIB_UTILS ) /time.c
244+ $( CC ) -m16 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /time_16_c.o $(SRC_LIB_UTILS ) /time.c
241245 nasm -o $(BUILD_LIB_UTILS ) /time_16_asm.o -f elf32 $(SRC_LIB_UTILS ) /time.asm
242246 ar rc $@ $(BUILD_LIB_UTILS ) /basic_16_asm.o $(BUILD_LIB_UTILS ) /basic_16_c.o $(BUILD_LIB_UTILS ) /logging_16.o $(BUILD_LIB_UTILS ) /output_16.o $(BUILD_LIB_UTILS ) /string_16.o $(BUILD_LIB_UTILS ) /color_16.o $(BUILD_LIB_UTILS ) /panic_16_c.o $(BUILD_LIB_UTILS ) /panic_16_asm.o $(BUILD_LIB_UTILS ) /time_16_c.o $(BUILD_LIB_UTILS ) /time_16_asm.o
243247
244248$(BUILD_LIB_UTILS ) /libutils : $(SRC_LIB_UTILS ) /basic.c $(SRC_LIB_UTILS ) /basic.asm $(SRC_LIB_UTILS ) /logging.c $(SRC_LIB_UTILS ) /output.c $(SRC_LIB_UTILS ) /output.h $(SRC_LIB_UTILS ) /input.c $(SRC_LIB_UTILS ) /input.h $(SRC_LIB_UTILS ) /string.c $(SRC_LIB_UTILS ) /string.h $(SRC_LIB_UTILS ) /panic.c $(SRC_LIB_UTILS ) /panic.h $(SRC_LIB_UTILS ) /panic.asm $(SRC_LIB_UTILS ) /time.c $(SRC_LIB_UTILS ) /time.h $(SRC_LIB_UTILS ) /time.asm $(SRC_LIB_UTILS ) /color.c $(SRC_LIB_UTILS ) /color.h
245249 mkdir -p $(BUILD_LIB_UTILS ) /
246- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /basic_c.o $(SRC_LIB_UTILS ) /basic.c
250+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /basic_c.o $(SRC_LIB_UTILS ) /basic.c
247251 nasm -o $(BUILD_LIB_UTILS ) /basic_asm.o -f elf32 $(SRC_LIB_UTILS ) /basic.asm
248- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /logging.o $(SRC_LIB_UTILS ) /logging.c
249- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /output.o $(SRC_LIB_UTILS ) /output.c
250- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /input.o $(SRC_LIB_UTILS ) /input.c
251- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /string.o $(SRC_LIB_UTILS ) /string.c
252- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /color.o $(SRC_LIB_UTILS ) /color.c
253- gcc -m32 -fno-pie -c -D__SOURCE_SNAPSHOT__=$(SOURCE_SNAPSHOT ) -Isrc -o $(BUILD_LIB_UTILS ) /panic_c.o $(SRC_LIB_UTILS ) /panic.c
252+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /logging.o $(SRC_LIB_UTILS ) /logging.c
253+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /output.o $(SRC_LIB_UTILS ) /output.c
254+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /input.o $(SRC_LIB_UTILS ) /input.c
255+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /string.o $(SRC_LIB_UTILS ) /string.c
256+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /color.o $(SRC_LIB_UTILS ) /color.c
257+ $( CC ) -m32 -fno-pie -c -D__SOURCE_SNAPSHOT__=$(SOURCE_SNAPSHOT ) -Isrc -o $(BUILD_LIB_UTILS ) /panic_c.o $(SRC_LIB_UTILS ) /panic.c
254258 nasm -o $(BUILD_LIB_UTILS ) /panic_asm.o -f elf32 $(SRC_LIB_UTILS ) /panic.asm
255- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /time_c.o $(SRC_LIB_UTILS ) /time.c
259+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_UTILS ) /time_c.o $(SRC_LIB_UTILS ) /time.c
256260 nasm -o $(BUILD_LIB_UTILS ) /time_asm.o -f elf32 $(SRC_LIB_UTILS ) /time.asm
257261 ar rc $@ $(BUILD_LIB_UTILS ) /basic_asm.o $(BUILD_LIB_UTILS ) /basic_c.o $(BUILD_LIB_UTILS ) /logging.o $(BUILD_LIB_UTILS ) /output.o $(BUILD_LIB_UTILS ) /input.o $(BUILD_LIB_UTILS ) /string.o $(BUILD_LIB_UTILS ) /color.o $(BUILD_LIB_UTILS ) /panic_c.o $(BUILD_LIB_UTILS ) /panic_asm.o $(BUILD_LIB_UTILS ) /time_c.o $(BUILD_LIB_UTILS ) /time_asm.o
258262
259263$(BUILD_LIB_DS ) /libds : $(SRC_LIB_DS ) /queue.h $(SRC_LIB_DS ) /queue.c
260264 mkdir -p $(BUILD_LIB_DS ) /
261- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_DS ) /queue.o $(SRC_LIB_DS ) /queue.c
265+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_LIB_DS ) /queue.o $(SRC_LIB_DS ) /queue.c
262266 ar rc $@ $(BUILD_LIB_DS ) /queue.o
263267
264268$(BUILD_LIB_SYSCALL ) /libsyscall : $(SRC_LIB_SYSCALL ) /syscall.h $(SRC_LIB_SYSCALL ) /syscall.asm
@@ -269,12 +273,12 @@ $(BUILD_LIB_SYSCALL)/libsyscall: $(SRC_LIB_SYSCALL)/syscall.h $(SRC_LIB_SYSCALL)
269273# User Applications
270274$(app_calc ) : $(app_entry ) $(SRC_APP ) /calc.c $(SRC_LIB_UTILS ) /output.h $(SRC_LIB_UTILS ) /time.h $(BUILD_LIB_UTILS ) /libutils $(BUILD_DRIVERS ) /display/libtm_vga $(BUILD_LIB_SYSCALL ) /libsyscall # And dependecies :/
271275 mkdir -p $$(dirname $(app_calc ) )
272- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_APP ) /calc.o $(SRC_APP ) /calc.c
276+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_APP ) /calc.o $(SRC_APP ) /calc.c
273277 ld --oformat binary -m elf_i386 -Ttext 0x0 --strip-all -o $@ $(app_entry ) $(BUILD_APP ) /calc.o $(BUILD_LIB_UTILS ) /libutils $(BUILD_DRIVERS ) /display/libtm_vga $(BUILD_LIB_SYSCALL ) /libsyscall
274278 truncate --size=%512 $@
275279
276280$(app_tic_tac_toe ) : $(app_entry ) $(SRC_APP ) /tic_tac_toe.c $(SRC_LIB_UTILS ) /output.h $(SRC_LIB_UTILS ) /input.h $(SRC_LIB_UTILS ) /time.h $(BUILD_LIB_UTILS ) /libutils $(BUILD_DRIVERS ) /display/libtm_vga $(BUILD_LIB_SYSCALL ) /libsyscall # And dependecies :/
277281 mkdir -p $$(dirname $(app_tic_tac_toe ) )
278- gcc -m32 -fno-pie -c -Isrc -o $(BUILD_APP ) /tic_tac_toe.o $(SRC_APP ) /tic_tac_toe.c
282+ $( CC ) -m32 -fno-pie -c -Isrc -o $(BUILD_APP ) /tic_tac_toe.o $(SRC_APP ) /tic_tac_toe.c
279283 ld --oformat binary -m elf_i386 -Ttext 0x0 --strip-all -o $@ $(app_entry ) $(BUILD_APP ) /tic_tac_toe.o $(BUILD_LIB_UTILS ) /libutils $(BUILD_DRIVERS ) /display/libtm_vga $(BUILD_LIB_SYSCALL ) /libsyscall
280284 truncate --size=%512 $@
0 commit comments