diff --git a/AcessNative/acesskernel_src/Makefile b/AcessNative/acesskernel_src/Makefile index 74f8920aad613e5fcace917f819b890609aae06d..91bee8b317412af4ee4e70d837d75256e457d9ac 100644 --- a/AcessNative/acesskernel_src/Makefile +++ b/AcessNative/acesskernel_src/Makefile @@ -17,12 +17,12 @@ N_OBJ := main.o OBJ := helpers.o threads.o server.o syscalls.o OBJ += video.o keyboard.o mouse.o nativefs.o vfs_handle.o ui_sdl.o -OBJ += $(addprefix $(KERNEL_SRC),$(KERNEL_OBJ)) +OBJ := $(addprefix obj-$(PLATFORM)/,$(OBJ)) +N_OBJ := $(addprefix obj-$(PLATFORM)/,$(N_OBJ)) +K_OBJ := $(addprefix $(KERNEL_SRC)obj-$(PLATFORM)/,$(KERNEL_OBJ)) -OBJ := $(addsuffix .$(PLATFORM),$(OBJ)) -N_OBJ := $(addsuffix .$(PLATFORM),$(N_OBJ)) -DEPFILES = $(filter %.o.$(PLATFORM),$(OBJ) $(N_OBJ)) -DEPFILES := $(DEPFILES:%.o.$(PLATFORM)=%.d.$(PLATFORM)) +DEPFILES = $(filter %.o,$(OBJ) $(N_OBJ) $(K_OBJ)) +DEPFILES := $(DEPFILES:%=%.dep) CPPFLAGS += -I include/ -I $(KERNEL_SRC)include/ CFLAGS += -Wall -g @@ -41,20 +41,29 @@ endif all: $(BIN) clean: - $(RM) $(BIN) $(OBJ) $(N_OBJ) $(DEPFILES) + $(RM) $(BIN) $(OBJ) $(N_OBJ) $(K_OBJ) $(DEPFILES) -$(BIN): $(OBJ) $(N_OBJ) +$(BIN): $(OBJ) $(N_OBJ) $(K_OBJ) @echo [LINK] -o $@ - @$(CC) $(LDFLAGS) -o $@ $(N_OBJ) $(OBJ) + @$(CC) $(LDFLAGS) -o $@ $(N_OBJ) $(K_OBJ) $(OBJ) -$(OBJ): %.o.$(PLATFORM): %.c +$(OBJ): obj-$(PLATFORM)/%.o: %.c + @mkdir -p $(dir $@) @echo [CC] -o $@ @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS) - @$(CC) -M $(CPPFLAGS) -MT $@ -o $*.d.$(PLATFORM) $< + @$(CC) -M $(CPPFLAGS) -MT $@ -o $@.dep $< -$(N_OBJ): %.o.$(PLATFORM): %.c +$(K_OBJ): $(KERNEL_SRC)obj-$(PLATFORM)/%.o: $(KERNEL_SRC)%.c + @mkdir -p $(dir $@) + @echo [CC] -o $@ + @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS) + @$(CC) -M $(CPPFLAGS) -MT $@ -o $@.dep $< + + +$(N_OBJ): obj-$(PLATFORM)/%.o: %.c + @mkdir -p $(dir $@) @echo [CC] -o $@ @$(CC) -c $< -o $@ $(CFLAGS) - @$(CC) -M -MT $@ -o $*.d.$(PLATFORM) $< + @$(CC) -M -MT $@ -o $@.dep $< -include $(DEPFILES) diff --git a/AcessNative/acesskernel_src/keyboard.c b/AcessNative/acesskernel_src/keyboard.c index 86f37874d63d79494edec32320635fd265647605..329e003d2f8d6ed224a2c65af1072788b7cfbd58 100644 --- a/AcessNative/acesskernel_src/keyboard.c +++ b/AcessNative/acesskernel_src/keyboard.c @@ -6,8 +6,7 @@ #include <acess.h> #include <modules.h> #include <fs_devfs.h> -#include <tpl_drv_common.h> -#include <tpl_drv_keyboard.h> +#include <api_drv_keyboard.h> #include "ui.h" // === PROTOTYPES === diff --git a/AcessNative/acesskernel_src/syscalls.c b/AcessNative/acesskernel_src/syscalls.c index b41e3544fa354f38c67e2be3679b48e02f4e705e..70e09f19efa21740e485f2379d62e26929ed5794 100644 --- a/AcessNative/acesskernel_src/syscalls.c +++ b/AcessNative/acesskernel_src/syscalls.c @@ -117,7 +117,7 @@ SYSCALL5(Syscall_select, "idddd", int, fd_set *, fd_set *, fd_set *, time_t *, return VFS_Select(a0, a1, a2, a3, a4, 0); ); SYSCALL3(Syscall_OpenChild, "isi", int, const char *, int, - return VFS_OpenChild(NULL, a0, a1, a2|VFS_OPENFLAG_USER); + return VFS_OpenChild(a0, a1, a2|VFS_OPENFLAG_USER); ); SYSCALL2(Syscall_GetACL, "id", int, void *, if(Sizes[1] < sizeof(tVFS_ACL)) diff --git a/AcessNative/acesskernel_src/ui_sdl.c b/AcessNative/acesskernel_src/ui_sdl.c index 2e56a647a1043a5c1a9d2280c33bd103af461254..11033d988c5a2e20670b46c1968119800f486161 100644 --- a/AcessNative/acesskernel_src/ui_sdl.c +++ b/AcessNative/acesskernel_src/ui_sdl.c @@ -7,7 +7,7 @@ #define const #include "ui.h" #undef const -#include <tpl_drv_keyboard.h> +#include <api_drv_keyboard.h> // === IMPORTS === extern void AcessNative_Exit(void); diff --git a/AcessNative/acesskernel_src/video.c b/AcessNative/acesskernel_src/video.c index 2c38533df60b4ec1797b37479f738c5895a70826..304a9cf41408c0a34482eb5e4830ee5ba7321a17 100644 --- a/AcessNative/acesskernel_src/video.c +++ b/AcessNative/acesskernel_src/video.c @@ -9,7 +9,7 @@ #include <vfs.h> #include <fs_devfs.h> #include <modules.h> -#include <tpl_drv_video.h> +#include <api_drv_video.h> #include "ui.h" // === PROTOTYPES === @@ -294,9 +294,6 @@ int Video_IOCtl(tVFS_Node *Node, int ID, void *Data) //Log_Debug("VESA", "Cursor position (%i,%i) Timer %i", giVesaCursorX, giVesaCursorY, giVesaCursorTimer); return 0; #endif - - case VIDEO_IOCTL_REQLFB: // Request Linear Framebuffer - return 0; } return 0; } diff --git a/AcessNative/ld-acess_src/Makefile b/AcessNative/ld-acess_src/Makefile index eb84ad894dbdb594e6160ac79b229b7c71383fcb..5a604a3c5bc40534189e412da92f31e2d35b4382 100644 --- a/AcessNative/ld-acess_src/Makefile +++ b/AcessNative/ld-acess_src/Makefile @@ -7,7 +7,7 @@ endif OBJ := main.o syscalls.o request.o binary.o memory.o OBJ += elf.o -OBJ := $(addsuffix .$(PLATFORM),$(OBJ)) +OBJ := $(addprefix obj-$(PLATFORM)/,$(OBJ)) ifeq ($(PLATFORM),win) BIN := ../ld-acess.exe @@ -19,8 +19,8 @@ endif CFLAGS += -Wall -Werror -g -m32 -DEPFILES = $(filter %.o.$(PLATFORM),$(OBJ)) -DEPFILES := $(DEPFILES:%.o.$(PLATFORM)=%.d.$(PLATFORM)) +DEPFILES = $(filter %.o,$(OBJ)) +DEPFILES := $(DEPFILES:%=%.dep) .PHONY: all clean @@ -29,18 +29,19 @@ all: $(BIN) clean: $(RM) $(BIN) $(OBJ) $(DEPFILES) -$(BIN): link.ld.$(PLATFORM) $(OBJ) -# $(LD) -g -o $@ $(OBJ) -T link.ld.$(PLATFORM) - $(CC) -g -o $@ $(OBJ) -m32 -Wl,-T,link.ld.$(PLATFORM) +$(BIN): obj-$(PLATFORM)/link.ld $(OBJ) + $(CC) -g -o $@ $(OBJ) -m32 -Wl,-T,obj-$(PLATFORM)/link.ld -%.o.$(PLATFORM): %.c +obj-$(PLATFORM)/%.o: %.c + @mkdir -p $(dir $@) @echo [CC] -o $@ @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS) - @$(CC) -M $(CPPFLAGS) -MT $@ -o $*.d.$(PLATFORM) $< + @$(CC) -M $(CPPFLAGS) -MT $@ -o $@.dep $< # Modify the default makefile to put the executable at 1MB instead -link.ld.lin: - @echo Making Linker Script ($@) +obj-lin/link.ld: + @mkdir -p $(dir $@) + @echo "Making Linker Script ($@)" @$(LD) --verbose | awk '{ if( substr($$0,0,5) == "====="){ bPrint = !bPrint; } else { if(bPrint){ print $$0;} } }' | sed 's/\b0x0[08][0-9]*\b/0x00100000/g' > $@ -include $(DEPFILES)