1: #
2: # ----------------------------------------------------------------------
3: # T-Kernel 2.0 Software Package
4: #
5: # Copyright 2011 by Ken Sakamura.
6: # This software is distributed under the latest version of T-License 2.x.
7: # ----------------------------------------------------------------------
8: #
9: # Released by T-Engine Forum(http://www.t-engine.org/) at 2011/05/17.
10: # Modified by T-Engine Forum at 2013/03/01.
11: # Modified by TRON Forum(http://www.tron.org/) at 2015/06/01.
12: #
13: # ----------------------------------------------------------------------
14: #
15:
16: #
17: # Makefile for gmake
18: # T-Kernel/OS (common description)
19: #
20:
21: # source file dependencies (generated automatically)
22: DEPS = Dependencies
23: DEPENDENCIES_OUTPUT := $(DEPS)
24:
25: # ----------------------------------------------------------------------------
26:
27: # target object
28: TARGET = tkernel.o
29:
30: S = ../../src
31:
32: # common source files
33: SRC += tkstart.c timer.c wait.c task.c klock.c \
34: task_manage.c task_sync.c \
35: semaphore.c mutex.c eventflag.c \
36: mailbox.c messagebuf.c rendezvous.c \
37: mempool.c mempfix.c time_calls.c misc_calls.c \
38: subsystem.c objname.c \
39: tkdev_init.c cpu_calls.c cpu_init.c cpu_support.S \
40: version.c
41:
42: VPATH += $(S)
43: HEADER += $(S)
44:
45: # additional source files (cpu-dependent)
46: VPATH += ../../../sysdepend/cpu/$(MACHINE)
47: HEADER += ../../../sysdepend/cpu/$(MACHINE)
48:
49: # additional source files (device-dependent)
50: VPATH += ../../../sysdepend/device/$(TETYPE)_$(MACHINE)
51: HEADER += ../../../sysdepend/device/$(TETYPE)_$(MACHINE)
52:
53: OBJ = $(addsuffix .o, $(basename $(SRC)))
54:
55: ASM_SRC = $(filter %.S, $(SRC))
56: ASM_OBJ = $(addsuffix .o, $(basename $(ASM_SRC)))
57:
58: # compiler options
59: CFLAGS += $(CFLAGS_WARNING)
60:
61: CPPFLAGS += -DTKERNEL_CHECK_CONST
62:
63: # ----------------------------------------------------------------------------
64:
65: .PHONY: all clean
66:
67: all: $(TARGET)
68:
69: $(TARGET): $(OBJ)
70: $(LINK_R.o) $^ $(OUTPUT_OPTION)
71:
72: clean:
73: $(RM) $(OBJ) $(TARGET) $(DEPS)
74:
75: # generate dependencies
76: $(DEPS): ; touch $(DEPS)
77: -include $(DEPS)