minix/drivers/ramdisk/Makefile
Gianluca Guida cc17b27a2b 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-06-24 11:46:30 +02:00

164 lines
3.5 KiB
Makefile

# Makefile for ramdisk image
.include <bsd.own.mk>
PROGRAMS=ahci at_wini bios_wini cdprobe dev2name floppy loadramdisk mount \
pci procfs sh service sysenv mfs ext2
SCRIPTS=newroot
# acpi is not compiled with ack
.if ${COMPILER_TYPE} == "gnu"
PROGRAMS += acpi
.endif
.if ${OBJECT_FMT} == "ELF"
ELFSTRIP=/usr/gnu_cross/bin/i386-pc-minix3-strip
.else
STRIPFLAG+= -s
.endif
EXTRA=system.conf passwd rs.single
CPPFLAGS+= -I${MINIXSRCDIR}/servers -I${MINIXSRCDIR}
MAKEDEV=/usr/bin/MAKEDEV
CLEANFILES += $(PROGRAMS) $(SCRIPTS) $(EXTRA) bintoc image image.c t proto.gen
install: all
all: image.c
image.c: bintoc image
./bintoc -o $@ image
# Note for cross compilation: this executable has to be compiled for the
# host system
bintoc: bintoc.c
$(CC) -o $@ bintoc.c
image: proto.gen mtab rc $(EXTRA)
mkfs.mfs image proto.gen || { rm -f image; false; }
ahci: ../ahci/ahci
install ${STRIPFLAG} ../$@/$@ $@
../ahci/ahci:
$(MAKE) -C ../ahci
at_wini: ../at_wini/at_wini
install ${STRIPFLAG} ../$@/$@ $@
../at_wini/at_wini:
$(MAKE) -C ../at_wini
bios_wini: ../bios_wini/bios_wini
install ${STRIPFLAG} ../$@/$@ $@
../bios_wini/bios_wini:
$(MAKE) -C ../bios_wini
floppy: ../floppy/floppy
install ${STRIPFLAG} ../$@/$@ $@
../floppy/floppy:
$(MAKE) -C ../floppy
acpi: ../acpi/acpi
install ${STRIPFLAG} ../$@/$@ $@
../acpi/acpi:
$(MAKE) -C ../acpi
pci: ../pci/pci
install ${STRIPFLAG} ../$@/$@ $@
../pci/pci:
$(MAKE) -C ../pci
cdprobe: ../../commands/cdprobe/cdprobe
install ${STRIPFLAG} ../../commands/$@/$@ $@
../../commands/cdprobe:
$(MAKE) -C ../../commands/cdprobe
dev2name: ../../commands/dev2name/dev2name
install ${STRIPFLAG} ../../commands/$@/$@ $@
../../commands/dev2name/dev2name:
$(MAKE) -C ../../commands/dev2name
loadramdisk: ../../commands/loadramdisk/loadramdisk
install ${STRIPFLAG} ../../commands/$@/$@ $@
../../commands/loadramdisk/loadramdisk:
$(MAKE) -C ../../commands/loadramdisk
mount: ../../commands/mount/mount
install ${STRIPFLAG} ../../commands/$@/$@ $@
../../commands/mount/mount:
$(MAKE) -C ../../commands/mount
newroot: ../../commands/newroot/newroot.sh
install ${STRIPFLAG} ../../commands/$@/$@.sh $@
../../commands/newroot/newroot:
$(MAKE) -C ../../commands/newroot
sysenv: ../../commands/sysenv/sysenv
install ${STRIPFLAG} ../../commands/$@/$@ $@
../../commands/sysenv/sysenv:
$(MAKE) -C ../../commands/sysenv
sh: ../../commands/ash/sh
install ${STRIPFLAG} ../../commands/ash/$@ $@
../../commands/ash/sh:
$(MAKE) -C ../../commands/ash sh
service: ../../commands/service/service
install ${STRIPFLAG} ../../commands/service/$@ $@
../../commands/service/service:
$(MAKE) -C ../../commands/service
mfs: ../../servers/mfs/mfs
install ${STRIPFLAG} ../../servers/mfs/$@ $@
../../servers/mfs/mfs:
$(MAKE) -C ../../servers/mfs
procfs: ../../servers/procfs/procfs
install ${STRIPFLAG} ../../servers/procfs/$@ $@
../../servers/procfs/procfs:
$(MAKE) -C ../../servers/procfs
ext2: ../../servers/ext2/ext2
install ${STRIPFLAG} ../../servers/ext2/$@ $@
../../servers/ext2/ext2:
$(MAKE) -C ../../servers/ext2
system.conf: ../../etc/system.conf
install ${STRIPFLAG} ../../etc/$@ $@
passwd: ../../etc/passwd
install ${STRIPFLAG} ../../etc/$@ $@
rs.single: ../../etc/rs.single
install ${STRIPFLAG} ../../etc/$@ $@
proto.gen: $(PROGRAMS) $(SCRIPTS) $(MAKEDEV) proto.sh proto
sh -e proto.sh >proto.gen
#.if ${OBJECT_FMT} == "ELF"
#proto.gen: elfstrip
#
#.PHONY: elfstrip
#
#elfstrip: $(PROGRAMS)
# ${ELFSTRIP} $(PROGRAMS)
#.endif
.include <bsd.prog.mk>