diff options
-rw-r--r-- | ChangeLog | 21 | ||||
-rw-r--r-- | Makefile.in | 31 | ||||
-rw-r--r-- | README | 6 | ||||
-rw-r--r-- | configure.in | 8 |
4 files changed, 60 insertions, 6 deletions
@@ -1,3 +1,24 @@ +Wed Apr 23 13:21:23 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * configure.in (BUILD_CC): Use AC_CHECK_PROGS, not AC_CHECK_PROG, + since we are checking multiple names. + + * configure.in (kdb): New --enable option. + * Makefile.in (DEFINES): Add @DEFS@. + + * Makefile.in (clean, distclean, mostlyclean, maintainter-clean): + New targets. + (all-archs-configures): New variable. + (MIG): Change to ./local-mig. + (./local-mig): Change to build this instead of ./mig + (check-clib-routines): Use nm -g in case there are local symbols. + Suggested by Matthew Wilcox (willy@odie.barnet.ac.uk). + +Fri Apr 18 15:25:10 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> + + * configure.in: Add AC_PREREQ for version 2.12. + * i386/Drivers.in: Likewise. + Wed Apr 16 16:55:36 1997 Marcus G. Daniels <marcus@cathcart.sysc.pdx.edu> * configure.in: Replace AC_PROG_CC with AC_PROG_CC_LOCAL. diff --git a/Makefile.in b/Makefile.in index c549d8e..dd5f29f 100644 --- a/Makefile.in +++ b/Makefile.in @@ -52,7 +52,7 @@ INSTALL_DATA=$(INSTALL) -m 644 CFLAGS=@CFLAGS@ # We build these locally -MIG=./mig +MIG=./local-mig MIGCOM=./migcom all: @@ -62,6 +62,7 @@ all-archs = i386 all-archs-subdirs = $(patsubst %,$(srcdir)/%/Subdirs,$(all-archs)) all-archs-files = $(patsubst %,$(srcdir)/%/Files,$(all-archs)) +all-archs-configures = $(patsubst %,$(srcdir)/%/configure,$(all-archs)) # Files distributed from the top level directory: topfiles = ChangeLog ChangeLog.0 ChangeLog.00 Drivers.macros Makefile.in \ @@ -238,7 +239,7 @@ clib-routines.o: $(installed-clib) # extra symbols. kernel: check-clib-routines check-clib-routines: clib-routines.o - test `echo $(clib-routines) | wc -w` -eq `nm $< | wc -l` && touch check-clib-routines + test `echo $(clib-routines) | wc -w` -eq `nm -g $< | wc -l` && touch check-clib-routines # Empty dependency file @@ -267,7 +268,7 @@ vpath %.srv $(srcdir)/device $(srcdir)/ipc $(srcdir)/kern # Compilation flags # -DEFINES += -DMACH -DCMU -DMACH_KERNEL -DKERNEL +DEFINES += -DMACH -DCMU -DMACH_KERNEL -DKERNEL @DEFS@ INCLUDES += -I. -I$(srcdir) -I$(srcdir)/include \ -I$(srcdir)/bogus -I$(srcdir)/util -I$(srcdir)/kern -I$(srcdir)/device @@ -279,8 +280,28 @@ CPPFLAGS += -nostdinc $(DEFINES) $(INCLUDES) MIGFLAGS += $(CPPFLAGS) +# Standard targets + all: kernel $(cross-migcom) cross-mig +clean: + mv device-drivers.h FOO + rm -f *.o *.d kernel cross-migcom cross-mig migcom local-mig + rm -f *.symc *.symc.o *_user.c *_server.c *.h + rm -f *.migs_d *.migsh_d *.migu_d *.miguh_d + mv FOO device-drivers.h + +distclean: clean + rm -f config.status Makefile driverlist + +mostlyclean: distclean + rm -f $(srcdir)/mig/lexxer.c + rm -f $(srcdir)/mig/parser.c $(srcdir)/mig/parser.h + +maintainer-clean: mostlyclean + rm -f $(srcdir)/configure $(all-archs-configures) + + # # Kernel Image @@ -534,12 +555,12 @@ $(srcdir)/mig/parser.c $(srcdir)/mig/parser.h: $(srcdir)/mig/parser.y # Version of mig script that looks for the right local tools ifeq ($(cross_compiling),yes) -./mig: $(srcdir)/mig/mig.sh Makefile +./local-mig: $(srcdir)/mig/mig.sh Makefile sed -e 's,@MIGDIR@,.,g' \ -e 's,@CPP@,${BUILD_CC} -x c-header -E,g' \ $< >$@.tmp && chmod +x $@.tmp && mv -f $@.tmp $@ else -./mig: $(srcdir)/mig/mig.sh Makefile +./local-mig: $(srcdir)/mig/mig.sh Makefile sed -e 's,@MIGDIR@,.,g' \ -e 's,@CPP@,${CC} -x c-header -E,g' \ $< >$@.tmp && chmod +x $@.tmp && mv -f $@.tmp $@ @@ -30,6 +30,12 @@ generally safe to specify switches for hardware you don't have; in this way you can build kernels that work on different physical machine set ups. +If you want the in-kernel debugger compiled in, specify --enable-kdb +to configure. This is only useful if you actually anticipate +debugging the kernel, of course. We don't turn it on be default +because it adds considerably to the unpageable memory footprint of the +kernel. + The specific switches you give to configure are always recorded in the file `config.status'. So you can always tell what options you used to build a particular kernel. diff --git a/configure.in b/configure.in index 1683d3f..36c8edc 100644 --- a/configure.in +++ b/configure.in @@ -14,6 +14,7 @@ dnl USE OF THIS SOFTWARE. AC_INIT(kern/ipc_kobject.c) +AC_PREREQ(2.12) # # Deduce output var `systype' from configuration parms. @@ -37,6 +38,11 @@ AC_SUBST(cross_compiling) AC_PREFIX_DEFAULT() # +# Options +# +AC_ARG_ENABLE(kdb, Enable use of in-kernel debugger, AC_DEFINE(MACH_KDB)) + +# # Programs # AC_PROG_CC_LOCAL @@ -45,7 +51,7 @@ AC_PROG_INSTALL AC_CHECK_TOOL(MIG, mig, mig) if test $cross_compiling = yes; then - AC_CHECK_PROG(BUILD_CC, gcc cc) + AC_CHECK_PROGS(BUILD_CC, gcc cc) CC=$BUILD_CC fi |