Merge branch 'master' of git://git.ucc.asn.au/tpg/acess2
[tpg/acess2.git] / AcessNative / acesskernel_src / Makefile
1 # AcessNative Server\r
2 # Makefile\r
3 \r
4 -include ../../Makefile.Version.cfg\r
5 -include Makefile.BuildNum\r
6 ifeq ($(BUILD_NUM),)\r
7 BUILD_NUM = 1\r
8 endif\r
9 \r
10 ifeq ($(PLATFORM),)\r
11         PLATFORM := lin\r
12 endif\r
13 \r
14 KERNEL_SRC = ../../KernelLand/Kernel/\r
15 \r
16 KERNEL_OBJ := logging.o adt.o lib.o drvutil.o debug.o\r
17 KERNEL_OBJ += vfs/main.o vfs/open.o vfs/acls.o vfs/io.o vfs/dir.o\r
18 KERNEL_OBJ += vfs/nodecache.o vfs/mount.o vfs/memfile.o vfs/select.o\r
19 KERNEL_OBJ += vfs/fs/root.o vfs/fs/devfs.o\r
20 KERNEL_OBJ += drv/fifo.o drv/proc.o\r
21 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\r
22 \r
23 N_OBJ := main.o\r
24 \r
25 BUILDINFO_OBJ := obj-$(PLATFORM)/buildinfo.o\r
26 BUILDINFO_SRC := $(BUILDINFO_OBJ:%.o=%.c)\r
27 \r
28 OBJ := helpers.o threads.o server.o syscalls.o\r
29 OBJ += video.o keyboard.o mouse.o nativefs.o vfs_handle.o ui_sdl.o\r
30 OBJ := $(addprefix obj-$(PLATFORM)/,$(OBJ))\r
31 N_OBJ := $(addprefix obj-$(PLATFORM)/,$(N_OBJ))\r
32 K_OBJ := $(addprefix $(KERNEL_SRC)obj-native-$(PLATFORM)/,$(KERNEL_OBJ))\r
33 \r
34 DEPFILES  = $(filter %.o,$(OBJ) $(N_OBJ) $(K_OBJ))\r
35 DEPFILES := $(DEPFILES:%=%.dep)\r
36 \r
37 CPPFLAGS += -I include/ -I $(KERNEL_SRC)include/\r
38 CFLAGS += -Wall -g\r
39 LDFLAGS += -lSDL -lSDLmain -g -Wl,--defsym,__buildnum=$(BUILD_NUM)\r
40 \r
41 ifeq ($(PLATFORM),win)\r
42         BIN := ../AcessKernel.exe\r
43 endif\r
44 ifeq ($(PLATFORM),lin)\r
45         BIN := ../AcessKernel\r
46         CFLAGS +=\r
47 endif\r
48 \r
49 .PHONY: all clean\r
50 \r
51 all: $(BIN)\r
52 \r
53 clean:\r
54         $(RM) $(BIN) $(OBJ) $(N_OBJ) $(K_OBJ) $(DEPFILES)\r
55 \r
56 $(BIN): $(OBJ) $(N_OBJ) $(K_OBJ) $(BUILDINFO_OBJ)\r
57         @echo [LINK] -o $@\r
58         @$(CC) -o $@ $(N_OBJ) $(K_OBJ) $(OBJ) $(BUILDINFO_OBJ) $(LDFLAGS)\r
59         @echo BUILD_NUM = $$(( $(BUILD_NUM) + 1 )) > Makefile.BuildNum\r
60 \r
61 $(OBJ): obj-$(PLATFORM)/%.o: %.c\r
62         @mkdir -p $(dir $@)\r
63         @echo [CC] -o $@\r
64         @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)\r
65         @$(CC) -M $(CPPFLAGS) -MT $@ -o [email protected] $<\r
66 \r
67 $(K_OBJ): $(KERNEL_SRC)obj-native-$(PLATFORM)/%.o: $(KERNEL_SRC)%.c\r
68         @mkdir -p $(dir $@)\r
69         @echo [CC] -o $@\r
70         @$(CC) -c $< -o $@ $(CFLAGS) $(CPPFLAGS)\r
71         @$(CC) -M $(CPPFLAGS) -MT $@ -o [email protected] $<\r
72 \r
73 \r
74 $(N_OBJ): obj-$(PLATFORM)/%.o: %.c\r
75         @mkdir -p $(dir $@)\r
76         @echo [CC] -o $@\r
77         @$(CC) -c $< -o $@ $(CFLAGS)\r
78         @$(CC) -M -MT $@ -o [email protected] $<\r
79 \r
80 $(BUILDINFO_SRC): $(filter-out $(BUILDINFO_OBJ), $(OBJ)) Makefile\r
81         @echo "" > $@\r
82         @echo "const char gsKernelVersion[] = \"$(ACESS_VERSION)\";" >> $@\r
83         @echo "const char gsGitHash[] = \""`git log -n 1 | head -n 1 | awk '{print $$2}'`"\";" >> $@\r
84         @echo "const int giBuildNumber = $(BUILD_NUM);" >> $@\r
85 $(BUILDINFO_OBJ): $(BUILDINFO_SRC)\r
86         @echo [CC] -o $@\r
87         @$(CC) -o $@ -c $< $(CFLAGS) $(CPPFLAGS)\r
88 \r
89 -include $(DEPFILES)\r

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