Reworking usermode/libc to closer C compliance
[tpg/acess2.git] / AcessNative / acesskernel_src / Makefile
index d7bfcb8..91bee8b 100644 (file)
@@ -7,19 +7,26 @@ endif
 \r
 KERNEL_SRC = ../../Kernel/\r
 \r
-KERNEL_OBJ := logging.o adt.o\r
-KERNEL_OBJ += vfs/main.o vfs/open.o vfs/acls.o vfs/io.o vfs/dir.o vfs/nodecache.o vfs/mount.o\r
+KERNEL_OBJ := logging.o adt.o lib.o drvutil.o debug.o\r
+KERNEL_OBJ += vfs/main.o vfs/open.o vfs/acls.o vfs/io.o vfs/dir.o\r
+KERNEL_OBJ += vfs/nodecache.o vfs/mount.o vfs/memfile.o vfs/select.o\r
 KERNEL_OBJ += vfs/fs/root.o vfs/fs/devfs.o\r
-KERNEL_OBJ += drv/vterm.o drv/fifo.o\r
+KERNEL_OBJ += drv/vterm.o drv/fifo.o drv/proc.o\r
 \r
-OBJ := main.o video.o keyboard.o mouse.o nativefs.o vfs_handle.o\r
-OBJ += $(addprefix $(KERNEL_SRC),$(KERNEL_OBJ))\r
+N_OBJ := main.o\r
 \r
-OBJ := $(addsuffix .$(PLATFORM),$(OBJ))\r
+OBJ := helpers.o threads.o server.o syscalls.o\r
+OBJ += video.o keyboard.o mouse.o nativefs.o vfs_handle.o ui_sdl.o\r
+OBJ := $(addprefix obj-$(PLATFORM)/,$(OBJ))\r
+N_OBJ := $(addprefix obj-$(PLATFORM)/,$(N_OBJ))\r
+K_OBJ := $(addprefix $(KERNEL_SRC)obj-$(PLATFORM)/,$(KERNEL_OBJ))\r
+\r
+DEPFILES  = $(filter %.o,$(OBJ) $(N_OBJ) $(K_OBJ))\r
+DEPFILES := $(DEPFILES:%=%.dep)\r
 \r
 CPPFLAGS += -I include/ -I $(KERNEL_SRC)include/\r
-CFLAGS += -Wall\r
-LDFLAGS += -lSDL -lSDLmain\r
+CFLAGS += -Wall -g\r
+LDFLAGS += -lSDL -lSDLmain -g\r
 \r
 ifeq ($(PLATFORM),win)\r
        BIN := ../AcessKernel.exe\r
@@ -34,10 +41,29 @@ endif
 all: $(BIN)\r
 \r
 clean:\r
-       $(RM) $(BIN) $(OBJ)\r
+       $(RM) $(BIN) $(OBJ) $(N_OBJ) $(K_OBJ) $(DEPFILES)\r
+\r
+$(BIN): $(OBJ) $(N_OBJ) $(K_OBJ)\r
+       @echo [LINK] -o $@\r
+       @$(CC) $(LDFLAGS) -o $@ $(N_OBJ) $(K_OBJ) $(OBJ)\r
+\r
+$(OBJ): obj-$(PLATFORM)/%.o: %.c\r
+       @mkdir -p $(dir $@)\r
+       @echo [CC] -o $@\r
+       @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)\r
+       @$(CC) -M $(CPPFLAGS) -MT $@ -o [email protected] $<\r
+\r
+$(K_OBJ): $(KERNEL_SRC)obj-$(PLATFORM)/%.o: $(KERNEL_SRC)%.c\r
+       @mkdir -p $(dir $@)\r
+       @echo [CC] -o $@\r
+       @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)\r
+       @$(CC) -M $(CPPFLAGS) -MT $@ -o [email protected] $<\r
+\r
 \r
-$(BIN): $(OBJ)\r
-       $(CC) $(LDFLAGS) -o $@ $(OBJ)\r
+$(N_OBJ): obj-$(PLATFORM)/%.o: %.c\r
+       @mkdir -p $(dir $@)\r
+       @echo [CC] -o $@\r
+       @$(CC) -c $< -o $@ $(CFLAGS)\r
+       @$(CC) -M -MT $@ -o [email protected] $<\r
 \r
-%.o.$(PLATFORM): %.c\r
-       $(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)\r
+-include $(DEPFILES)\r

UCC git Repository :: git.ucc.asn.au