NetBSD/sys/arch/atari/stand/Makefile.booters
tsutsui fe5a481b54 Fix PR port-atari/40315: Bootloader fails on Atari TT030
Add asm sources which provide a fixed entry point for raw bootxx and bootxxx
 because modern aggressive gcc4 may reorder functions in the same source
 and the first function in a C source won't always appear at the beginning
 in its object.

Also overhaul various files in the stand directory:
- rename stand/Makefile.inc to stand/Makefile.booters and
  explicitly include it from each Makefile because the stand
  directory contains non standalone programs like installboot and
  Makefile.inc will be included implicitly from all Makefiles in SUBDIRs
- put more common options into Makefile.booters so that
  all boot programs use proper options (-Os etc.)
- make standalone boot programs compile without installed ${DESTDIR}:
  - create machine and m68k symlinks in ${.OBJDIR} in all boot programs
  - set appropriate make environments to suppress errors and warnings
  - <string.h> isn't there in _STANDALONE case
  - put #ifdef TOSTOOLS (looks equivarent with !_STANDALONE)
    to some files in stand/tostools
  - use ${LD} ${LINKFLAGS} rather than ${CC} ${LDFLAGS}
- create raw binaries on ${PROG} target rather than on beforeinstall
  and stop weird renaming on beforeinstall and afterinstall
- print proper error message if bootxx size is larger than limit
- create ${DESTDIR}/usr/mdec/{milan,std} directories on beforeinstall
  in all boot programs
  (XXX: how can we put MD /usr/mdec/foo directories into src/etc/mtree?)
- prototype warnsfy
- cleanup Makefiles for readablity and remove unnecessary rules
- no need to use daddr_t in installboot because the AHDI label doesn't
  support 64 bit block numbers

Tested by David Ross (PR submitter) on port-atari, and
finally NetBSD/atari on TT030 is now fully functional.

Should be pulled up to netbsd-4 (where gcc4 was initially imported)
and netbsd-5.
2009-01-06 13:35:30 +00:00

24 lines
665 B
Makefile

# $NetBSD: Makefile.booters,v 1.1 2009/01/06 13:35:30 tsutsui Exp $
BINDIR= /usr/mdec/${BTYPE:tl}
DBG=
COPTS= -Os -fomit-frame-pointer -fno-function-cse -fstrength-reduce
CPPFLAGS+= -D_STANDALONE -DHEAP_VARIABLE
CPPFLAGS+= -D__daddr_t=int32_t
CFLAGS+= -ffreestanding
CFLAGS+= -Wall
CFLAGS+= -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
.if !make(obj) && !make(clean) && !make(cleandir)
.BEGIN:
@([ -h machine ] || \
ln -s ${S}/arch/${MACHINE}/include machine)
@([ -h ${MACHINE_ARCH} ] || \
ln -s ${S}/arch/${MACHINE_ARCH}/include ${MACHINE_ARCH})
.NOPATH: machine ${MACHINE_ARCH}
.endif
CLEANFILES+= machine ${MACHINE_ARCH}