minix/Makefile

132 lines
3.4 KiB
Makefile
Raw Normal View History

2005-04-21 16:53:53 +02:00
# Master Makefile to compile everything in /usr/src except the system.
2010-12-10 23:20:12 +01:00
.include <bsd.own.mk>
MAKE=make
2005-04-21 16:53:53 +02:00
usage:
2005-10-21 20:31:45 +02:00
@echo ""
@echo "Master Makefile for MINIX commands and utilities."
@echo "Root privileges are required for some actions."
@echo ""
@echo "Usage:"
@echo " make world # Compile everything (libraries & commands)"
@echo " make includes # Install include files from src/"
@echo " make libraries # Compile and install libraries"
@echo " make commands # Compile all, commands, but don't install"
@echo " make install # Compile and install commands"
@echo " make gnu-includes # Install include files for GCC"
@echo " make clean # Remove all compiler results"
2005-10-21 20:31:45 +02:00
@echo ""
@echo "Run 'make' in tools/ to create a new MINIX configuration."
@echo ""
2005-04-21 16:53:53 +02:00
# world has to be able to make a new system, even if there
# is no complete old system. it has to install commands, for which
# it has to install libraries, for which it has to install includes,
# for which it has to install /etc (for users and ownerships).
# etcfiles also creates a directory hierarchy in its
# 'make install' target.
#
# etcfiles has to be done first.
world: mkfiles etcfiles includes libraries dep-all install etcforce
2010-02-25 23:10:48 +01:00
mkfiles:
make -C share/mk install
2005-04-21 16:53:53 +02:00
2005-05-02 16:30:04 +02:00
includes:
$(MAKE) -C include includes
Build NetBSD libc library in world in ELF mode. 3 sets of libraries are built now: . ack: all libraries that ack can compile (/usr/lib/i386/) . clang+elf: all libraries with minix headers (/usr/lib/) . clang+elf: all libraries with netbsd headers (/usr/netbsd/) Once everything can be compiled with netbsd libraries and headers, the /usr/netbsd hierarchy will be obsolete and its libraries compiled with netbsd headers will be installed in /usr/lib, and its headers in /usr/include. (i.e. minix libc and current minix headers set will be gone.) To use the NetBSD libc system (libraries + headers) before it is the default libc, see: http://wiki.minix3.org/en/DevelopersGuide/UsingNetBSDCode This wiki page also documents the maintenance of the patch files of minix-specific changes to imported NetBSD code. Changes in this commit: . libsys: Add NBSD compilation and create a safe NBSD-based libc. . Port rest of libraries (except libddekit) to new header system. . Enable compilation of libddekit with new headers. . Enable kernel compilation with new headers. . Enable drivers compilation with new headers. . Port legacy commands to new headers and libc. . Port servers to new headers. . Add <sys/sigcontext.h> in compat library. . Remove dependency file in tree. . Enable compilation of common/lib/libc/atomic in libsys . Do not generate RCSID strings in libc. . Temporarily disable zoneinfo as they are incompatible with NetBSD format . obj-nbsd for .gitignore . Procfs: use only integer arithmetic. (Antoine Leca) . Increase ramdisk size to create NBSD-based images. . Remove INCSYMLINKS handling hack. . Add nbsd_include/sys/exec_elf.h . Enable ELF compilation with NBSD libc. . Add 'make nbsdsrc' in tools to download reference NetBSD sources. . Automate minix-port.patch creation. . Avoid using fstavfs() as it is *extremely* slow and unneeded. . Set err() as PRIVATE to avoid name clash with libc. . [NBSD] servers/vm: remove compilation warnings. . u32 is not a long in NBSD headers. . UPDATING info on netbsd hierarchy . commands fixes for netbsd libc
2011-04-27 15:00:52 +02:00
$(MAKE) -C lib includes NBSD_LIBC=yes
$(MAKE) -C sys includes
2005-04-21 16:53:53 +02:00
MKHEADERSS=/usr/pkg/gcc*/libexec/gcc/*/*/install-tools/mkheaders
gnu-includes: includes
SHELL=/bin/sh; for d in $(MKHEADERSS); do if [ -f $$d ] ; then sh -e $$d ; fi; done
libraries: includes
$(MAKE) -C lib dependall install
2010-12-10 23:20:12 +01:00
commands: includes libraries
$(MAKE) -C commands all
2011-07-01 18:43:15 +02:00
$(MAKE) -C bin all
$(MAKE) -C sbin all
$(MAKE) -C usr.bin all
$(MAKE) -C external all
$(MAKE) -C libexec all
$(MAKE) -C usr.sbin all
2005-04-21 16:53:53 +02:00
dep-all:
$(MAKE) -C sys dependall
$(MAKE) -C commands dependall
$(MAKE) -C bin dependall
$(MAKE) -C sbin dependall
$(MAKE) -C usr.bin dependall
$(MAKE) -C external dependall
$(MAKE) -C libexec dependall
$(MAKE) -C usr.sbin dependall
$(MAKE) -C kernel dependall
$(MAKE) -C servers dependall
$(MAKE) -C drivers dependall
2005-06-24 18:25:12 +02:00
2010-12-10 23:20:12 +01:00
etcfiles:
$(MAKE) -C etc install
2005-04-21 16:53:53 +02:00
2010-12-10 23:20:12 +01:00
etcforce:
2010-08-27 12:09:06 +02:00
$(MAKE) -C etc installforce
2010-12-10 23:20:12 +01:00
all:
$(MAKE) -C sys all
$(MAKE) -C commands all
2011-07-01 18:43:15 +02:00
$(MAKE) -C bin all
$(MAKE) -C sbin all
$(MAKE) -C usr.bin all
$(MAKE) -C external all
$(MAKE) -C libexec all
$(MAKE) -C usr.sbin all
$(MAKE) -C tools all
2005-07-26 15:50:58 +02:00
2010-12-10 23:20:12 +01:00
install:
$(MAKE) -C sys install
$(MAKE) -C libexec install
$(MAKE) -C man install makedb
$(MAKE) -C commands install
2011-07-01 18:43:15 +02:00
$(MAKE) -C bin install
$(MAKE) -C sbin install
$(MAKE) -C usr.bin install
$(MAKE) -C external install
$(MAKE) -C usr.sbin install
$(MAKE) -C servers install
$(MAKE) -C share install
$(MAKE) -C tools install
clean: mkfiles
$(MAKE) -C sys clean
$(MAKE) -C commands clean
2011-07-01 18:43:15 +02:00
$(MAKE) -C bin clean
$(MAKE) -C sbin clean
$(MAKE) -C usr.bin clean
$(MAKE) -C external clean
$(MAKE) -C libexec clean
$(MAKE) -C usr.sbin clean
2012-02-10 00:46:55 +01:00
$(MAKE) -C share clean
$(MAKE) -C tools clean
$(MAKE) -C lib clean
$(MAKE) -C test clean
cleandepend: mkfiles
$(MAKE) -C lib cleandepend
$(MAKE) -C sys cleandepend
$(MAKE) -C commands cleandepend
2011-07-01 18:43:15 +02:00
$(MAKE) -C bin cleandepend
$(MAKE) -C sbin cleandepend
$(MAKE) -C usr.bin cleandepend
$(MAKE) -C external cleandepend
$(MAKE) -C libexec cleandepend
$(MAKE) -C usr.sbin cleandepend
$(MAKE) -C tools cleandepend
# Warn usage change
elf-libraries:
echo "That target is just libraries now."
false