X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;ds=inline;f=AcessNative%2Facesskernel_src%2FMakefile;h=a9b7278e814d21b1a80fb8b1851f904210d13a60;hb=6bcb63ea0505129d32b249772b554b0848bb5612;hp=ed79684bf68e4e0c0b79ff433d373ba147ffd72e;hpb=3764c294f21229bdf700f436fa4884f5e76e0d3a;p=tpg%2Facess2.git diff --git a/AcessNative/acesskernel_src/Makefile b/AcessNative/acesskernel_src/Makefile index ed79684b..a9b7278e 100644 --- a/AcessNative/acesskernel_src/Makefile +++ b/AcessNative/acesskernel_src/Makefile @@ -1,6 +1,12 @@ # AcessNative Server # Makefile +-include ../../Makefile.Version.cfg +-include Makefile.BuildNum +ifeq ($(BUILD_NUM),) +BUILD_NUM = 1 +endif + ifeq ($(PLATFORM),) PLATFORM := lin endif @@ -11,19 +17,26 @@ KERNEL_OBJ := logging.o adt.o lib.o drvutil.o debug.o KERNEL_OBJ += vfs/main.o vfs/open.o vfs/acls.o vfs/io.o vfs/dir.o KERNEL_OBJ += vfs/nodecache.o vfs/mount.o vfs/memfile.o vfs/select.o KERNEL_OBJ += vfs/fs/root.o vfs/fs/devfs.o -KERNEL_OBJ += drv/vterm.o drv/fifo.o drv/proc.o +KERNEL_OBJ += drv/fifo.o drv/proc.o +KERNEL_OBJ += drv/vterm.o drv/vterm_font.o drv/vterm_vt100.o drv/vterm_output.o drv/vterm_input.o drv/vterm_termbuf.o + +N_OBJ := main.o -OBJ := main.o helpers.o threads.o server.o syscalls.o +BUILDINFO_OBJ := obj-$(PLATFORM)/buildinfo.o +BUILDINFO_SRC := $(BUILDINFO_OBJ:%.o=%.c) + +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-native-$(PLATFORM)/,$(KERNEL_OBJ)) -OBJ := $(addsuffix .$(PLATFORM),$(OBJ)) -DEPFILES = $(filter %.o.$(PLATFORM),$(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 -LDFLAGS += -lSDL -lSDLmain -g +LDFLAGS += -lSDL -lSDLmain -g -Wl,--defsym,__buildnum=$(BUILD_NUM) ifeq ($(PLATFORM),win) BIN := ../AcessKernel.exe @@ -38,15 +51,39 @@ endif all: $(BIN) clean: - $(RM) $(BIN) $(OBJ) $(DEPFILES) + $(RM) $(BIN) $(OBJ) $(N_OBJ) $(K_OBJ) $(DEPFILES) -$(BIN): $(OBJ) +$(BIN): $(OBJ) $(N_OBJ) $(K_OBJ) $(BUILDINFO_OBJ) @echo [LINK] -o $@ - @$(CC) $(LDFLAGS) -o $@ $(OBJ) + @$(CC) -o $@ $(N_OBJ) $(K_OBJ) $(OBJ) $(BUILDINFO_OBJ) $(LDFLAGS) + @echo BUILD_NUM = $$(( $(BUILD_NUM) + 1 )) > Makefile.BuildNum + +$(OBJ): obj-$(PLATFORM)/%.o: %.c + @mkdir -p $(dir $@) + @echo [CC] -o $@ + @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS) + @$(CC) -M $(CPPFLAGS) -MT $@ -o $@.dep $< -%.o.$(PLATFORM): %.c +$(K_OBJ): $(KERNEL_SRC)obj-native-$(PLATFORM)/%.o: $(KERNEL_SRC)%.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): obj-$(PLATFORM)/%.o: %.c + @mkdir -p $(dir $@) + @echo [CC] -o $@ + @$(CC) -c $< -o $@ $(CFLAGS) + @$(CC) -M -MT $@ -o $@.dep $< + +$(BUILDINFO_SRC): $(filter-out $(BUILDINFO_OBJ), $(OBJ)) Makefile + @echo "" > $@ + @echo "const char gsKernelVersion[] = \"$(ACESS_VERSION)\";" >> $@ + @echo "const char gsGitHash[] = \""`git log -n 1 | head -n 1 | awk '{print $$2}'`"\";" >> $@ + @echo "const int giBuildNumber = $(BUILD_NUM);" >> $@ +$(BUILDINFO_OBJ): $(BUILDINFO_SRC) + @echo [CC] -o $@ + @$(CC) -o $@ -c $< $(CFLAGS) $(CPPFLAGS) -include $(DEPFILES)