- BUG-031: fat32_io.h on-demand FAT sector read (FAT beyond 128KB cache walked OOB, font/wallpaper corrupted past first clusters); host unit test diff=0 - material pack: gen_textures.py wired into build.ps1, startMenuLogo.rgba packaged; missing wallpaper/logo/font now fatal (DESK-E02/E03/E04 red fatal screen) - login->desktop crossfade 16 steps, boot typewriter screen removed - IDE exit: Esc detaches and returns to desktop page - white theme: KS_* light palette, g_wf_light taskbar, hardcoded dark fills replaced - QEMU verified: labels/clock render, wallpaper + start logo loaded, zero spurious panic
28 lines
927 B
Makefile
28 lines
927 B
Makefile
CC := clang
|
|
LD := ld.lld
|
|
|
|
ROOT := ../..
|
|
OUT := $(ROOT)/SYSTEM/system/deshab64/desktop.elf
|
|
|
|
CFLAGS := -target x86_64-unknown-none -std=c11 -ffreestanding -fno-builtin -fno-stack-protector -fpie -mno-red-zone -mno-sse -mno-sse2 -mno-mmx -msoft-float -m64 -Wall -Wextra -I../UTSM/include -O2
|
|
LDFLAGS := -nostdlib -static -pie -z max-page-size=0x1000 -T linker.ld
|
|
|
|
C_SOURCES := main.c input.c wm.c compositor.c apps_builtin.c appreg.c \
|
|
launcher.c lxc.c shell.c pages.c f32io.c ascii_font.c zhfont.c \
|
|
wallpaper.c taskbar.c textures.c
|
|
OBJECTS := $(C_SOURCES:.c=.o)
|
|
|
|
.PHONY: all clean
|
|
|
|
all: $(OUT)
|
|
|
|
$(OUT): $(OBJECTS) linker.ld
|
|
@mkdir -p $(dir $@)
|
|
$(LD) $(LDFLAGS) -o $@ $(OBJECTS)
|
|
|
|
%.o: %.c ../tools/fat32_io.h
|
|
$(CC) $(CFLAGS) -c $< -o $@
|
|
|
|
clean:
|
|
powershell -NoProfile -Command "Get-ChildItem -Path . -Recurse -Filter *.o | Remove-Item -Force; if (Test-Path '$(OUT)') { Remove-Item '$(OUT)' -Force }"
|