fix some bugs in the example kernel and the Makefile entries.
This commit is contained in:
parent
7519621c59
commit
acc6543257
10 changed files with 86 additions and 69 deletions
|
@ -7,22 +7,22 @@ man_MANS = grub.8 mbchk.1 grub-install.8 grub-md5-crypt.8
|
|||
HELP2MAN = help2man
|
||||
SRC2TEXI = src2texi
|
||||
noinst_SCRIPTS = $(HELP2MAN) $(SRC2TEXI)
|
||||
EXTRA_PROGRAMS = kernel
|
||||
|
||||
# The example kernel is built if you specify --enable-example-kernel.
|
||||
if BUILD_EXAMPLE_KERNEL
|
||||
noinst_DATA = kernel
|
||||
noinst_PROGRAMS = kernel.exec
|
||||
kernel_exec_SOURCES = $(EXAMPLES)
|
||||
kernel_exec_CFLAGS = -fno-builtin -nostdinc -O -g -Wall \
|
||||
noinst_PROGRAMS = kernel
|
||||
kernel_SOURCES = $(EXAMPLES)
|
||||
kernel_CFLAGS = -fno-builtin -nostdinc -O -g -Wall \
|
||||
-imacros $(top_builddir)/config.h
|
||||
kernel_exec_LDFLAGS = -nostdlib -Wl,-N -Wl,-Ttext -Wl,100000
|
||||
kernel_LDFLAGS = -nostdlib -Wl,-N -Wl,-Ttext -Wl,100000
|
||||
|
||||
kernel: kernel.exec
|
||||
$(OBJCOPY) -O binary $< $@
|
||||
boot.o: multiboot.h
|
||||
endif
|
||||
|
||||
EXTRA_DIST = menu.lst $(man_MANS) $(noinst_SCRIPTS) \
|
||||
$(EXAMPLES) $(multiboot_TEXINFOS)
|
||||
CLEANFILES = $(noinst_PROGRAMS)
|
||||
|
||||
# Cancel the rule %.texi -> %. This rule may confuse make to determine
|
||||
# the dependecies.
|
||||
|
|
|
@ -97,18 +97,19 @@ man_MANS = grub.8 mbchk.1 grub-install.8 grub-md5-crypt.8
|
|||
HELP2MAN = help2man
|
||||
SRC2TEXI = src2texi
|
||||
noinst_SCRIPTS = $(HELP2MAN) $(SRC2TEXI)
|
||||
EXTRA_PROGRAMS = kernel
|
||||
|
||||
# The example kernel is built if you specify --enable-example-kernel.
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@noinst_DATA = @BUILD_EXAMPLE_KERNEL_TRUE@kernel
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@noinst_PROGRAMS = @BUILD_EXAMPLE_KERNEL_TRUE@kernel.exec
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_exec_SOURCES = @BUILD_EXAMPLE_KERNEL_TRUE@$(EXAMPLES)
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_exec_CFLAGS = @BUILD_EXAMPLE_KERNEL_TRUE@-fno-builtin -nostdinc -O -g -Wall \
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@noinst_PROGRAMS = @BUILD_EXAMPLE_KERNEL_TRUE@kernel
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_SOURCES = @BUILD_EXAMPLE_KERNEL_TRUE@$(EXAMPLES)
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_CFLAGS = @BUILD_EXAMPLE_KERNEL_TRUE@-fno-builtin -nostdinc -O -g -Wall \
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@ -imacros $(top_builddir)/config.h
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_exec_LDFLAGS = @BUILD_EXAMPLE_KERNEL_TRUE@-nostdlib -Wl,-N -Wl,-Ttext -Wl,100000
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_LDFLAGS = @BUILD_EXAMPLE_KERNEL_TRUE@-nostdlib -Wl,-N -Wl,-Ttext -Wl,100000
|
||||
|
||||
EXTRA_DIST = menu.lst $(man_MANS) $(noinst_SCRIPTS) \
|
||||
$(EXAMPLES) $(multiboot_TEXINFOS)
|
||||
|
||||
CLEANFILES = $(noinst_PROGRAMS)
|
||||
subdir = docs
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
CONFIG_HEADER = ../config.h
|
||||
|
@ -120,18 +121,18 @@ DEFS = @DEFS@ -I. -I$(srcdir) -I..
|
|||
CPPFLAGS = @CPPFLAGS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBS = @LIBS@
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@am_kernel_exec_OBJECTS = kernel_exec-boot.o \
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel_exec-kernel.o
|
||||
kernel_exec_OBJECTS = $(am_kernel_exec_OBJECTS)
|
||||
kernel_exec_LDADD = $(LDADD)
|
||||
kernel_exec_DEPENDENCIES =
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@am_kernel_OBJECTS = kernel-boot.o \
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel-kernel.o
|
||||
kernel_OBJECTS = $(am_kernel_OBJECTS)
|
||||
kernel_LDADD = $(LDADD)
|
||||
kernel_DEPENDENCIES =
|
||||
SCRIPTS = $(noinst_SCRIPTS)
|
||||
|
||||
COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CFLAGS = @CFLAGS@
|
||||
CCLD = $(CC)
|
||||
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
|
||||
DIST_SOURCES = $(kernel_exec_SOURCES)
|
||||
DIST_SOURCES = $(kernel_SOURCES)
|
||||
TEXI2DVI = texi2dvi
|
||||
INFO_DEPS = grub.info multiboot.info
|
||||
DVIS = grub.dvi multiboot.dvi
|
||||
|
@ -141,11 +142,8 @@ man8dir = $(mandir)/man8
|
|||
MANS = $(man_MANS)
|
||||
|
||||
NROFF = nroff
|
||||
DATA = $(noinst_DATA)
|
||||
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
DEP_FILES = @AMDEP@ $(DEPDIR)/kernel_exec-boot.Po \
|
||||
$(DEPDIR)/kernel_exec-kernel.Po
|
||||
DEP_FILES = @AMDEP@ $(DEPDIR)/kernel-boot.Po $(DEPDIR)/kernel-kernel.Po
|
||||
DIST_COMMON = $(grub_TEXINFOS) $(multiboot_TEXINFOS) Makefile.am \
|
||||
Makefile.in stamp-vti version.texi
|
||||
|
||||
|
@ -153,8 +151,8 @@ Makefile.in stamp-vti version.texi
|
|||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
|
||||
GZIP_ENV = --best
|
||||
SOURCES = $(kernel_exec_SOURCES)
|
||||
OBJECTS = $(am_kernel_exec_OBJECTS)
|
||||
SOURCES = $(kernel_SOURCES)
|
||||
OBJECTS = $(am_kernel_OBJECTS)
|
||||
|
||||
all: all-redirect
|
||||
.SUFFIXES:
|
||||
|
@ -185,13 +183,13 @@ distclean-compile:
|
|||
-rm -f *.tab.c
|
||||
|
||||
maintainer-clean-compile:
|
||||
kernel_exec-boot.o: boot.S
|
||||
$(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kernel_exec-boot.o `test -f boot.S || echo '$(srcdir)/'`boot.S
|
||||
kernel_exec-kernel.o: kernel.c
|
||||
kernel-boot.o: boot.S
|
||||
$(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -c -o kernel-boot.o `test -f boot.S || echo '$(srcdir)/'`boot.S
|
||||
kernel-kernel.o: kernel.c
|
||||
|
||||
kernel.exec: $(kernel_exec_OBJECTS) $(kernel_exec_DEPENDENCIES)
|
||||
@rm -f kernel.exec
|
||||
$(LINK) $(kernel_exec_LDFLAGS) $(kernel_exec_OBJECTS) $(kernel_exec_LDADD) $(LIBS)
|
||||
kernel: $(kernel_OBJECTS) $(kernel_DEPENDENCIES)
|
||||
@rm -f kernel
|
||||
$(LINK) $(kernel_LDFLAGS) $(kernel_OBJECTS) $(kernel_LDADD) $(LIBS)
|
||||
.S.o:
|
||||
$(COMPILE) -c $<
|
||||
|
||||
|
@ -449,8 +447,8 @@ distclean-tags:
|
|||
|
||||
maintainer-clean-tags:
|
||||
|
||||
@AMDEP@include $(DEPDIR)/kernel_exec-boot.Po
|
||||
@AMDEP@include $(DEPDIR)/kernel_exec-kernel.Po
|
||||
@AMDEP@include $(DEPDIR)/kernel-boot.Po
|
||||
@AMDEP@include $(DEPDIR)/kernel-kernel.Po
|
||||
|
||||
mostlyclean-depend:
|
||||
|
||||
|
@ -472,11 +470,11 @@ maintainer-clean-depend:
|
|||
|
||||
@AMDEP@CCDEPMODE = @CCDEPMODE@
|
||||
|
||||
kernel_exec-kernel.o: kernel.c
|
||||
@AMDEP@ source='kernel.c' object='kernel_exec-kernel.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP@ depfile='$(DEPDIR)/kernel_exec-kernel.Po' tmpdepfile='$(DEPDIR)/kernel_exec-kernel.TPo' @AMDEPBACKSLASH@
|
||||
kernel-kernel.o: kernel.c
|
||||
@AMDEP@ source='kernel.c' object='kernel-kernel.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP@ depfile='$(DEPDIR)/kernel-kernel.Po' tmpdepfile='$(DEPDIR)/kernel-kernel.TPo' @AMDEPBACKSLASH@
|
||||
@AMDEP@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
$(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_exec_CFLAGS) $(CFLAGS) -c -o kernel_exec-kernel.o `test -f kernel.c || echo '$(srcdir)/'`kernel.c
|
||||
$(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kernel_CFLAGS) $(CFLAGS) -c -o kernel-kernel.o `test -f kernel.c || echo '$(srcdir)/'`kernel.c
|
||||
|
||||
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
|
||||
|
||||
|
@ -512,7 +510,7 @@ install-am: all-am
|
|||
install: install-am
|
||||
uninstall-am: uninstall-info uninstall-man
|
||||
uninstall: uninstall-am
|
||||
all-am: Makefile $(INFO_DEPS) $(PROGRAMS) $(SCRIPTS) $(MANS) $(DATA)
|
||||
all-am: Makefile $(INFO_DEPS) $(PROGRAMS) $(SCRIPTS) $(MANS)
|
||||
all-redirect: all-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_STRIP_FLAG=-s install
|
||||
|
@ -524,6 +522,7 @@ installdirs:
|
|||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
|
||||
|
||||
distclean-generic:
|
||||
-rm -f Makefile $(CONFIG_CLEAN_FILES)
|
||||
|
@ -575,8 +574,7 @@ distclean-generic clean-generic maintainer-clean-generic clean \
|
|||
mostlyclean distclean maintainer-clean
|
||||
|
||||
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@kernel: kernel.exec
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@ $(OBJCOPY) -O binary $< $@
|
||||
@BUILD_EXAMPLE_KERNEL_TRUE@boot.o: multiboot.h
|
||||
|
||||
# Cancel the rule %.texi -> %. This rule may confuse make to determine
|
||||
# the dependecies.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* boot.S - bootstrap the kernel */
|
||||
/* Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1999, 2001 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -21,8 +21,6 @@
|
|||
.text
|
||||
|
||||
.globl start, _start
|
||||
|
||||
/* This entry is not used actually. */
|
||||
start:
|
||||
_start:
|
||||
jmp multiboot_entry
|
||||
|
@ -38,6 +36,7 @@ multiboot_header:
|
|||
.long MULTIBOOT_HEADER_FLAGS
|
||||
/* checksum */
|
||||
.long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
|
||||
#ifndef __ELF__
|
||||
/* header_addr */
|
||||
.long multiboot_header
|
||||
/* load_addr */
|
||||
|
@ -48,6 +47,7 @@ multiboot_header:
|
|||
.long _end
|
||||
/* entry_addr */
|
||||
.long multiboot_entry
|
||||
#endif /* ! __ELF__ */
|
||||
|
||||
multiboot_entry:
|
||||
/* Initialize the stack pointer. */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* @r{boot.S - bootstrap the kernel} */
|
||||
/* @r{Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
/* @r{Copyright (C) 1999, 2001 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -21,8 +21,6 @@
|
|||
.text
|
||||
|
||||
.globl start, _start
|
||||
|
||||
/* @r{This entry is not used actually.} */
|
||||
start:
|
||||
_start:
|
||||
jmp multiboot_entry
|
||||
|
@ -38,6 +36,7 @@ multiboot_header:
|
|||
.long MULTIBOOT_HEADER_FLAGS
|
||||
/* @r{checksum} */
|
||||
.long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)
|
||||
#ifndef __ELF__
|
||||
/* @r{header_addr} */
|
||||
.long multiboot_header
|
||||
/* @r{load_addr} */
|
||||
|
@ -48,6 +47,7 @@ multiboot_header:
|
|||
.long _end
|
||||
/* @r{entry_addr} */
|
||||
.long multiboot_entry
|
||||
#endif /* @r{! __ELF__} */
|
||||
|
||||
multiboot_entry:
|
||||
/* @r{Initialize the stack pointer.} */
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* multiboot.h - the header for Multiboot */
|
||||
/* Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
/* Copyright (C) 1999, 2001 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -21,7 +21,11 @@
|
|||
#define MULTIBOOT_HEADER_MAGIC 0x1BADB002
|
||||
|
||||
/* The flags for the Multiboot header. */
|
||||
#define MULTIBOOT_HEADER_FLAGS 0x00010003
|
||||
#ifdef __ELF__
|
||||
# define MULTIBOOT_HEADER_FLAGS 0x00000003
|
||||
#else
|
||||
# define MULTIBOOT_HEADER_FLAGS 0x00010003
|
||||
#endif
|
||||
|
||||
/* The magic number passed by a Multiboot-compliant boot loader. */
|
||||
#define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* @r{multiboot.h - the header for Multiboot} */
|
||||
/* @r{Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
/* @r{Copyright (C) 1999, 2001 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
@ -21,7 +21,11 @@
|
|||
#define MULTIBOOT_HEADER_MAGIC 0x1BADB002
|
||||
|
||||
/* @r{The flags for the Multiboot header.} */
|
||||
#define MULTIBOOT_HEADER_FLAGS 0x00010003
|
||||
#ifdef __ELF__
|
||||
# define MULTIBOOT_HEADER_FLAGS 0x00000003
|
||||
#else
|
||||
# define MULTIBOOT_HEADER_FLAGS 0x00010003
|
||||
#endif
|
||||
|
||||
/* @r{The magic number passed by a Multiboot-compliant boot loader.} */
|
||||
#define MULTIBOOT_BOOTLOADER_MAGIC 0x2BADB002
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue