Subversion Repositories HelenOS

Rev

Rev 1787 | Rev 1891 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1787 Rev 1802
Line 24... Line 24...
24
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
#
27
#
28
 
28
 
29
## Kernel release
-
 
30
#
-
 
31
 
-
 
32
VERSION = 0
-
 
33
PATCHLEVEL = 2
-
 
34
SUBLEVEL = 0
-
 
35
EXTRAVERSION = 2
-
 
36
NAME = Daylight
-
 
37
ifdef EXTRAVERSION
-
 
38
RELEASE = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL).$(EXTRAVERSION)
-
 
39
else
-
 
40
RELEASE = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)
-
 
41
endif
-
 
42
 
29
 
43
## Include configuration
30
## Include configuration
44
#
31
#
45
 
32
 
-
 
33
-include ../version
46
-include Makefile.config
34
-include Makefile.config
47
 
35
 
48
## Common compiler flags
36
## Common compiler flags
49
#
37
#
50
 
38
 
51
DEFS = -D$(ARCH) -DARCH=\"$(ARCH)\" -DRELEASE=\"$(RELEASE)\" "-DNAME=\"$(NAME)\"" -DKERNEL
39
DEFS = -D$(ARCH) -DARCH=\"$(ARCH)\" -DRELEASE=\"$(RELEASE)\" "-DNAME=\"$(NAME)\"" -DKERNEL
52
CFLAGS = -fno-builtin -fomit-frame-pointer -Wall -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -nostdlib -nostdinc -Igeneric/include/ 
40
CFLAGS = -fno-builtin -fomit-frame-pointer -Wall -Werror-implicit-function-declaration -Wmissing-prototypes -Werror -O3 -nostdlib -nostdinc -Igeneric/include/
53
LFLAGS = -M
41
LFLAGS = -M
54
AFLAGS =
42
AFLAGS =
55
 
43
 
56
ifdef REVISION
44
ifdef REVISION
57
	DEFS += "-DREVISION=\"$(REVISION)\""
45
	DEFS += "-DREVISION=\"$(REVISION)\""
Line 68... Line 56...
68
-include genarch/Makefile.inc
56
-include genarch/Makefile.inc
69
 
57
 
70
ifeq ($(CONFIG_DEBUG),y)
58
ifeq ($(CONFIG_DEBUG),y)
71
	DEFS += -DCONFIG_DEBUG
59
	DEFS += -DCONFIG_DEBUG
72
endif
60
endif
-
 
61
 
73
ifeq ($(CONFIG_DEBUG_SPINLOCK),y)
62
ifeq ($(CONFIG_DEBUG_SPINLOCK),y)
74
	DEFS += -DCONFIG_DEBUG_SPINLOCK
63
	DEFS += -DCONFIG_DEBUG_SPINLOCK
75
endif
64
endif
-
 
65
 
76
ifeq ($(CONFIG_DEBUG_AS_WATCHPOINT),y)
66
ifeq ($(CONFIG_DEBUG_AS_WATCHPOINT),y)
77
	DEFS += -DCONFIG_DEBUG_AS_WATCHPOINT
67
	DEFS += -DCONFIG_DEBUG_AS_WATCHPOINT
78
endif
68
endif
-
 
69
 
79
ifeq ($(CONFIG_FPU_LAZY),y)
70
ifeq ($(CONFIG_FPU_LAZY),y)
80
	DEFS += -DCONFIG_FPU_LAZY
71
	DEFS += -DCONFIG_FPU_LAZY
81
endif
72
endif
-
 
73
 
82
ifeq ($(CONFIG_DEBUG_ALLREGS),y)
74
ifeq ($(CONFIG_DEBUG_ALLREGS),y)
83
	DEFS += -DCONFIG_DEBUG_ALLREGS
75
	DEFS += -DCONFIG_DEBUG_ALLREGS
84
endif
76
endif
-
 
77
 
85
ifeq ($(CONFIG_VHPT),y)
78
ifeq ($(CONFIG_VHPT),y)
86
	DEFS += -DCONFIG_VHPT
79
	DEFS += -DCONFIG_VHPT
87
endif
80
endif
-
 
81
 
88
ifeq ($(CONFIG_POWEROFF),y)
82
ifeq ($(CONFIG_POWEROFF),y)
89
	DEFS += -DCONFIG_POWEROFF
83
	DEFS += -DCONFIG_POWEROFF
90
endif
84
endif
-
 
85
 
91
ifeq ($(CONFIG_FB),y)
86
ifeq ($(CONFIG_FB),y)
92
ifeq ($(ARCH),ia32)
87
	ifeq ($(ARCH),ia32)
93
	DEFS += -DCONFIG_VESA_WIDTH=$(CONFIG_VESA_WIDTH)
88
		DEFS += -DCONFIG_VESA_WIDTH=$(CONFIG_VESA_WIDTH)
94
	DEFS += -DCONFIG_VESA_HEIGHT=$(CONFIG_VESA_HEIGHT)
89
		DEFS += -DCONFIG_VESA_HEIGHT=$(CONFIG_VESA_HEIGHT)
95
	DEFS += -DCONFIG_VESA_BPP=$(CONFIG_VESA_BPP)
90
		DEFS += -DCONFIG_VESA_BPP=$(CONFIG_VESA_BPP)
96
endif
91
	endif
-
 
92
	
97
ifeq ($(ARCH),amd64)
93
	ifeq ($(ARCH),amd64)
98
	DEFS += -DCONFIG_VESA_WIDTH=$(CONFIG_VESA_WIDTH)
94
		DEFS += -DCONFIG_VESA_WIDTH=$(CONFIG_VESA_WIDTH)
99
	DEFS += -DCONFIG_VESA_HEIGHT=$(CONFIG_VESA_HEIGHT)
95
		DEFS += -DCONFIG_VESA_HEIGHT=$(CONFIG_VESA_HEIGHT)
100
	DEFS += -DCONFIG_VESA_BPP=$(CONFIG_VESA_BPP)
96
		DEFS += -DCONFIG_VESA_BPP=$(CONFIG_VESA_BPP)
101
endif
97
	endif
-
 
98
	
102
ifeq ($(ARCH),xen32)
99
	ifeq ($(ARCH),xen32)
103
	DEFS += -DCONFIG_VESA_WIDTH=$(CONFIG_VESA_WIDTH)
100
		DEFS += -DCONFIG_VESA_WIDTH=$(CONFIG_VESA_WIDTH)
104
	DEFS += -DCONFIG_VESA_HEIGHT=$(CONFIG_VESA_HEIGHT)
101
		DEFS += -DCONFIG_VESA_HEIGHT=$(CONFIG_VESA_HEIGHT)
105
	DEFS += -DCONFIG_VESA_BPP=$(CONFIG_VESA_BPP)
102
		DEFS += -DCONFIG_VESA_BPP=$(CONFIG_VESA_BPP)
106
endif
103
	endif
107
endif
104
endif
108
 
105
 
109
## Toolchain configuration
106
## Toolchain configuration
110
#
107
#
111
 
108
 
Line 202... Line 199...
202
GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES)))
199
GENARCH_OBJECTS := $(addsuffix .o,$(basename $(GENARCH_SOURCES)))
203
 
200
 
204
.PHONY: all build config distclean clean archlinks depend disasm
201
.PHONY: all build config distclean clean archlinks depend disasm
205
 
202
 
206
all:
203
all:
207
	tools/config.py default $(NARCH)
204
	../tools/config.py kernel.config default $(ARCH) $(COMPILER) $(CONFIG_DEBUG) $(MACHINE)
208
ifdef NARCH
-
 
209
 ifneq ($(ARCH), $(NARCH))
-
 
210
	$(MAKE) -C . clean
-
 
211
 endif
-
 
212
endif
-
 
213
	$(MAKE) -C . build
205
	$(MAKE) -C . build
214
 
206
 
215
build: kernel.bin disasm
207
build: kernel.bin disasm
216
 
208
 
217
config:
209
config:
218
	-rm Makefile.depend
210
	-rm Makefile.depend
219
	tools/config.py
211
	tools/config.py kernel.config
220
 
212
 
221
-include Makefile.depend
213
-include Makefile.depend
222
 
214
 
223
distclean: clean
215
distclean: clean
224
	-rm Makefile.config
216
	-rm Makefile.config
225
 
217
 
226
clean:
218
clean:
227
	-rm -f kernel.bin kernel.raw kernel.map kernel.map.pre kernel.objdump kernel.disasm generic/src/debug/real_map.bin Makefile.depend* generic/include/arch generic/include/genarch arch/$(ARCH)/_link.ld
219
	-rm -f kernel.bin kernel.raw kernel.map kernel.map.pre kernel.objdump kernel.disasm generic/src/debug/real_map.bin Makefile.depend* generic/include/arch generic/include/genarch arch/$(ARCH)/_link.ld
228
	find generic/src/ arch/*/src/ genarch/src/ test/ -name '*.o' -follow -exec rm \{\} \;
220
	find generic/src/ arch/*/src/ genarch/src/ test/ -name '*.o' -follow -exec rm \{\} \;
229
	for arch in arch/*; do \
221
	for arch in arch/* ; do \
230
	    [ -e $$arch/_link.ld ] && rm $$arch/_link.ld 2>/dev/null;\
222
	    [ -e $$arch/_link.ld ] && rm $$arch/_link.ld 2>/dev/null ; \
231
	done;exit 0
223
	done ; exit 0
232
 
224
 
233
archlinks:
225
archlinks:
234
	ln -sfn ../../arch/$(ARCH)/include/ generic/include/arch
226
	ln -sfn ../../arch/$(ARCH)/include/ generic/include/arch
235
	ln -sfn ../../genarch/include/ generic/include/genarch
227
	ln -sfn ../../genarch/include/ generic/include/genarch
236
 
228