head	1.32;
access;
symbols
	RELENG_8_4:1.32.0.2
	RELENG_9_1_0_RELEASE:1.31.2.1.4.2
	RELENG_9_1:1.31.2.1.0.4
	RELENG_9_1_BP:1.31.2.1
	RELENG_8_3_0_RELEASE:1.30.2.1.8.1
	RELENG_8_3:1.30.2.1.0.8
	RELENG_8_3_BP:1.30.2.1
	RELENG_9_0_0_RELEASE:1.31.2.1.2.1
	RELENG_9_0:1.31.2.1.0.2
	RELENG_9_0_BP:1.31.2.1
	RELENG_9:1.31.0.2
	RELENG_9_BP:1.31
	RELENG_7_4_0_RELEASE:1.28.12.1
	RELENG_8_2_0_RELEASE:1.30.2.1.6.1
	RELENG_7_4:1.28.0.12
	RELENG_7_4_BP:1.28
	RELENG_8_2:1.30.2.1.0.6
	RELENG_8_2_BP:1.30.2.1
	RELENG_8_1_0_RELEASE:1.30.2.1.4.1
	RELENG_8_1:1.30.2.1.0.4
	RELENG_8_1_BP:1.30.2.1
	RELENG_7_3_0_RELEASE:1.28.10.1
	RELENG_7_3:1.28.0.10
	RELENG_7_3_BP:1.28
	RELENG_8_0_0_RELEASE:1.30.2.1.2.1
	RELENG_8_0:1.30.2.1.0.2
	RELENG_8_0_BP:1.30.2.1
	RELENG_8:1.30.0.2
	RELENG_8_BP:1.30
	RELENG_7_2_0_RELEASE:1.28.8.1
	RELENG_7_2:1.28.0.8
	RELENG_7_2_BP:1.28
	RELENG_7_1_0_RELEASE:1.28.6.1
	RELENG_6_4_0_RELEASE:1.26.12.1
	RELENG_7_1:1.28.0.6
	RELENG_7_1_BP:1.28
	RELENG_6_4:1.26.0.12
	RELENG_6_4_BP:1.26
	RELENG_7_0_0_RELEASE:1.28
	RELENG_6_3_0_RELEASE:1.26
	RELENG_7_0:1.28.0.4
	RELENG_7_0_BP:1.28
	RELENG_6_3:1.26.0.10
	RELENG_6_3_BP:1.26
	RELENG_7:1.28.0.2
	RELENG_7_BP:1.28
	RELENG_6_2_0_RELEASE:1.26
	RELENG_6_2:1.26.0.8
	RELENG_6_2_BP:1.26
	RELENG_6_1_0_RELEASE:1.26
	RELENG_6_1:1.26.0.6
	RELENG_6_1_BP:1.26
	RELENG_6_0_0_RELEASE:1.26
	RELENG_6_0:1.26.0.4
	RELENG_6_0_BP:1.26
	RELENG_6:1.26.0.2
	RELENG_6_BP:1.26
	old_RELENG_5_3_0_RELEASE:1.22
	old_RELENG_5_3:1.22.0.4
	old_RELENG_5_3_BP:1.22
	old_RELENG_5:1.22.0.2
	old_RELENG_5_BP:1.22
	old_RELENG_5_2_1_RELEASE:1.19
	old_RELENG_5_2_0_RELEASE:1.19
	old_RELENG_5_2:1.19.0.4
	old_RELENG_5_2_BP:1.19
	old_RELENG_5_1_0_RELEASE:1.19
	old_RELENG_5_1:1.19.0.2
	old_RELENG_5_1_BP:1.19
	old_RELENG_5_0_0_RELEASE:1.18
	old_RELENG_5_0:1.18.0.2
	old_RELENG_5_0_BP:1.18
	old_KSE_MILESTONE_2:1.6
	old_KSE_PRE_MILESTONE_2:1.6;
locks; strict;
comment	@# @;


1.32
date	2012.11.17.01.51.18;	author svnexp;	state Exp;
branches
	1.32.2.1;
next	1.31;

1.31
date	2010.08.23.01.50.34;	author imp;	state Exp;
branches
	1.31.2.1;
next	1.30;

1.30
date	2009.02.21.15.04.31;	author ru;	state Exp;
branches
	1.30.2.1;
next	1.29;

1.29
date	2008.06.25.21.33.28;	author ru;	state Exp;
branches;
next	1.28;

1.28
date	2006.11.05.22.03.03;	author marcel;	state Exp;
branches
	1.28.2.1
	1.28.6.1
	1.28.8.1
	1.28.10.1
	1.28.12.1;
next	1.27;

1.27
date	2006.03.17.18.54.35;	author ru;	state Exp;
branches;
next	1.26;

1.26
date	2004.12.21.12.32.14;	author ru;	state Exp;
branches
	1.26.2.1
	1.26.12.1;
next	1.25;

1.25
date	2004.12.21.08.47.15;	author ru;	state Exp;
branches;
next	1.24;

1.24
date	2004.11.28.00.26.11;	author marcel;	state Exp;
branches;
next	1.23;

1.23
date	2004.11.23.06.02.03;	author marcel;	state Exp;
branches;
next	1.22;

1.22
date	2004.07.20.07.01.02;	author marcel;	state Exp;
branches;
next	1.21;

1.21
date	2004.02.13.04.45.41;	author marcel;	state Exp;
branches;
next	1.20;

1.20
date	2004.02.12.08.10.33;	author ru;	state Exp;
branches;
next	1.19;

1.19
date	2003.02.26.06.18.52;	author obrien;	state Exp;
branches;
next	1.18;

1.18
date	2002.05.10.09.26.31;	author obrien;	state Exp;
branches;
next	1.17;

1.17
date	2002.04.07.04.27.50;	author peter;	state Exp;
branches;
next	1.16;

1.16
date	2002.04.07.04.26.42;	author peter;	state Exp;
branches;
next	1.15;

1.15
date	2002.04.07.04.25.45;	author peter;	state Exp;
branches;
next	1.14;

1.14
date	2002.04.06.04.29.36;	author peter;	state Exp;
branches;
next	1.13;

1.13
date	2002.04.06.04.11.46;	author peter;	state Exp;
branches;
next	1.12;

1.12
date	2002.04.06.03.39.22;	author peter;	state Exp;
branches;
next	1.11;

1.11
date	2002.04.04.06.04.38;	author peter;	state Exp;
branches;
next	1.10;

1.10
date	2002.03.31.20.48.13;	author marcel;	state Exp;
branches;
next	1.9;

1.9
date	2002.03.28.06.58.46;	author marcel;	state Exp;
branches;
next	1.8;

1.8
date	2001.10.08.01.41.45;	author marcel;	state Exp;
branches;
next	1.7;

1.7
date	2001.09.22.19.12.30;	author dfr;	state Exp;
branches;
next	1.6;

1.6
date	2001.09.04.14.48.59;	author dfr;	state Exp;
branches;
next	1.5;

1.5
date	2001.09.04.08.59.38;	author dfr;	state Exp;
branches;
next	1.4;

1.4
date	2001.07.10.16.18.20;	author dfr;	state Exp;
branches;
next	1.3;

1.3
date	2001.06.16.06.17.16;	author obrien;	state Exp;
branches;
next	1.2;

1.2
date	2001.06.14.01.23.57;	author peter;	state Exp;
branches;
next	1.1;

1.1
date	2001.06.09.16.49.51;	author dfr;	state Exp;
branches;
next	;

1.32.2.1
date	2012.11.17.01.51.18;	author svnexp;	state dead;
branches;
next	1.32.2.2;

1.32.2.2
date	2013.03.28.13.04.02;	author svnexp;	state Exp;
branches;
next	;

1.31.2.1
date	2011.09.23.00.51.37;	author kensmith;	state Exp;
branches
	1.31.2.1.2.1
	1.31.2.1.4.1;
next	1.31.2.2;

1.31.2.2
date	2012.11.17.11.36.48;	author svnexp;	state Exp;
branches;
next	;

1.31.2.1.2.1
date	2011.11.11.04.20.22;	author kensmith;	state Exp;
branches;
next	1.31.2.1.2.2;

1.31.2.1.2.2
date	2012.11.17.08.36.46;	author svnexp;	state Exp;
branches;
next	;

1.31.2.1.4.1
date	2012.08.05.23.54.33;	author kensmith;	state Exp;
branches;
next	1.31.2.1.4.2;

1.31.2.1.4.2
date	2012.11.17.08.47.36;	author svnexp;	state Exp;
branches;
next	;

1.30.2.1
date	2009.08.03.08.13.06;	author kensmith;	state Exp;
branches
	1.30.2.1.2.1
	1.30.2.1.4.1
	1.30.2.1.6.1
	1.30.2.1.8.1;
next	1.30.2.2;

1.30.2.2
date	2012.11.17.10.36.27;	author svnexp;	state Exp;
branches;
next	;

1.30.2.1.2.1
date	2009.10.25.01.10.29;	author kensmith;	state Exp;
branches;
next	;

1.30.2.1.4.1
date	2010.06.14.02.09.06;	author kensmith;	state Exp;
branches;
next	;

1.30.2.1.6.1
date	2010.12.21.17.09.25;	author kensmith;	state Exp;
branches;
next	;

1.30.2.1.8.1
date	2012.03.03.06.15.13;	author kensmith;	state Exp;
branches;
next	1.30.2.1.8.2;

1.30.2.1.8.2
date	2012.11.17.08.25.07;	author svnexp;	state Exp;
branches;
next	;

1.28.2.1
date	2012.11.17.08.04.54;	author svnexp;	state Exp;
branches;
next	;

1.28.6.1
date	2008.11.25.02.59.29;	author kensmith;	state Exp;
branches;
next	;

1.28.8.1
date	2009.04.15.03.14.26;	author kensmith;	state Exp;
branches;
next	;

1.28.10.1
date	2010.02.10.00.26.20;	author kensmith;	state Exp;
branches;
next	;

1.28.12.1
date	2010.12.21.17.10.29;	author kensmith;	state Exp;
branches;
next	1.28.12.2;

1.28.12.2
date	2012.11.17.08.17.05;	author svnexp;	state Exp;
branches;
next	;

1.26.2.1
date	2012.11.17.07.42.39;	author svnexp;	state Exp;
branches;
next	;

1.26.12.1
date	2008.10.02.02.57.24;	author kensmith;	state Exp;
branches;
next	;


desc
@@


1.32
log
@Switching exporter and resync
@
text
@# $FreeBSD: head/sys/boot/ia64/efi/Makefile 211680 2010-08-23 01:50:34Z imp $

NO_MAN=

.include <bsd.own.mk>
MK_SSP=		no

PROG=		loader.sym
INTERNALPROG=
SRCS=		conf.c efimd.c main.c pal.S start.S vers.c

.PATH: ${.CURDIR}/../../../${MACHINE_CPUARCH}/${MACHINE_CPUARCH}

CFLAGS+=	-I${.CURDIR}/../common
CFLAGS+=	-I${.CURDIR}/../../common
CFLAGS+=	-I${.CURDIR}/../../efi/include
CFLAGS+=	-I${.CURDIR}/../../efi/include/${MACHINE_CPUARCH}
CFLAGS+=	-I${.CURDIR}/../../..
CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand

LDSCRIPT=	${.CURDIR}/ldscript.${MACHINE_CPUARCH}
LDFLAGS=	-Wl,-T${LDSCRIPT} -shared -symbolic

${PROG}: ${LDSCRIPT}

NEWVERSWHAT=	"EFI boot" ${MACHINE_CPUARCH}

vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}

OBJCOPY?=	objcopy
OBJDUMP?=	objdump

FILES=		loader.efi
FILESMODE_loader.efi= ${BINMODE}

loader.efi: loader.sym
	if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \
		${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \
		rm ${.ALLSRC}; \
		exit 1; \
	fi
	${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \
	    -j .rela.dyn -j .reloc -j .sdata -j .text \
	    --target=efi-app-${MACHINE_CPUARCH} ${.ALLSRC} ${.TARGET}

CLEANFILES=	vers.c loader.efi

LIBIA64=	${.OBJDIR}/../common/libia64.a
LIBEFI=		${.OBJDIR}/../../efi/libefi/libefi.a
.if ${MK_FORTH} != "no"
LIBFICL=        ${.OBJDIR}/../../ficl/libficl.a
.endif

DPADD=		${LIBIA64} ${LIBFICL} ${LIBEFI} ${LIBSTAND}
LDADD=		-Wl,--whole-archive ${LIBIA64} -Wl,--no-whole-archive \
		    ${LIBFICL} ${LIBEFI} -lstand

.include <bsd.prog.mk>
@


1.32.2.1
log
@file Makefile was added on branch RELENG_8_4 on 2013-03-28 13:04:02 +0000
@
text
@d1 59
@


1.32.2.2
log
@## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/248810
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
@
text
@a0 59
# $FreeBSD: releng/8.4/sys/boot/ia64/efi/Makefile 188895 2009-02-21 15:04:31Z ru $

NO_MAN=

.include <bsd.own.mk>
MK_SSP=		no

PROG=		loader.sym
INTERNALPROG=
SRCS=		conf.c efimd.c main.c pal.S start.S vers.c

.PATH: ${.CURDIR}/../../../${MACHINE_ARCH}/${MACHINE_ARCH}

CFLAGS+=	-I${.CURDIR}/../common
CFLAGS+=	-I${.CURDIR}/../../common
CFLAGS+=	-I${.CURDIR}/../../efi/include
CFLAGS+=	-I${.CURDIR}/../../efi/include/${MACHINE_ARCH}
CFLAGS+=	-I${.CURDIR}/../../..
CFLAGS+=	-I${.CURDIR}/../../../../lib/libstand

LDSCRIPT=	${.CURDIR}/ldscript.${MACHINE_ARCH}
LDFLAGS=	-Wl,-T${LDSCRIPT} -shared -symbolic

${PROG}: ${LDSCRIPT}

NEWVERSWHAT=	"EFI boot" ${MACHINE_ARCH}

vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}

OBJCOPY?=	objcopy
OBJDUMP?=	objdump

FILES=		loader.efi
FILESMODE_loader.efi= ${BINMODE}

loader.efi: loader.sym
	if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \
		${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \
		rm ${.ALLSRC}; \
		exit 1; \
	fi
	${OBJCOPY} -j .data -j .dynamic -j .dynstr -j .dynsym -j .hash \
	    -j .rela.dyn -j .reloc -j .sdata -j .text \
	    --target=efi-app-${MACHINE_ARCH} ${.ALLSRC} ${.TARGET}

CLEANFILES=	vers.c loader.efi

LIBIA64=	${.OBJDIR}/../common/libia64.a
LIBEFI=		${.OBJDIR}/../../efi/libefi/libefi.a
.if ${MK_FORTH} != "no"
LIBFICL=        ${.OBJDIR}/../../ficl/libficl.a
.endif

DPADD=		${LIBIA64} ${LIBFICL} ${LIBEFI} ${LIBSTAND}
LDADD=		-Wl,--whole-archive ${LIBIA64} -Wl,--no-whole-archive \
		    ${LIBFICL} ${LIBEFI} -lstand

.include <bsd.prog.mk>
@


1.31
log
@SVN rev 211680 on 2010-08-23 01:50:34Z by imp

MF tbemd: Minor tweaks, prefer MACHINE_CPUARCH generally to MACHINE_ARCH (which simplifies some powerpc/powerpc64 ifs)
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.31.2.1
log
@SVN rev 225736 on 2011-09-23 00:51:37Z by kensmith

Copy head to stable/9 as part of 9.0-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.31.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242902
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242902 | dteske | 2012-11-11 23:29:45 +0000 (Sun, 11 Nov 2012) | 10 lines
## SVN ##
## SVN ## Fix a regression introduced by SVN r211417 that saw the breakage of a feature
## SVN ## documented in usr.sbin/sysinstall/help/shortcuts.hlp (reproduced below):
## SVN ##
## SVN ## If /usr/sbin/sysinstall is linked to another filename, say
## SVN ## `/usr/local/bin/configPackages', then the basename will be used
## SVN ## as an implicit command name.
## SVN ##
## SVN ## Reviewed by:	adrian (co-mentor)
## SVN ## Approved by:	adrian (co-mentor)
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/9/sys/boot/ia64/efi/Makefile 211680 2010-08-23 01:50:34Z imp $
@


1.31.2.1.4.1
log
@SVN rev 239080 on 2012-08-05 23:54:33Z by kensmith

Copy stable/9 to releng/9.1 as part of the 9.1-RELEASE release process.

Approved by:	re (implicit)
@
text
@@


1.31.2.1.4.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.1/sys/boot/ia64/efi/Makefile 211680 2010-08-23 01:50:34Z imp $
@


1.31.2.1.2.1
log
@SVN rev 227445 on 2011-11-11 04:20:22Z by kensmith

Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
cycle.

Approved by:	re (implicit)
@
text
@@


1.31.2.1.2.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/9.0/sys/boot/ia64/efi/Makefile 211680 2010-08-23 01:50:34Z imp $
@


1.30
log
@SVN rev 188895 on 2009-02-21 15:04:31Z by ru

Fix build when WITH_SSP is set explicitly.

Submitted by:	Jeremie Le Hen
@
text
@d12 1
a12 1
.PATH: ${.CURDIR}/../../../${MACHINE_ARCH}/${MACHINE_ARCH}
d17 1
a17 1
CFLAGS+=	-I${.CURDIR}/../../efi/include/${MACHINE_ARCH}
d21 1
a21 1
LDSCRIPT=	${.CURDIR}/ldscript.${MACHINE_ARCH}
d26 1
a26 1
NEWVERSWHAT=	"EFI boot" ${MACHINE_ARCH}
d45 1
a45 1
	    --target=efi-app-${MACHINE_ARCH} ${.ALLSRC} ${.TARGET}
@


1.30.2.1
log
@SVN rev 196045 on 2009-08-03 08:13:06Z by kensmith

Copy head to stable/8 as part of 8.0 Release cycle.

Approved by:	re (Implicit)
@
text
@@


1.30.2.2
log
@## SVN ##
## SVN ## Exported commit - http://svnweb.freebsd.org/changeset/base/ 242909
## SVN ## CVS IS DEPRECATED: http://wiki.freebsd.org/CvsIsDeprecated
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ## r242909 | dim | 2012-11-12 07:47:19 +0000 (Mon, 12 Nov 2012) | 20 lines
## SVN ##
## SVN ## MFC r242625:
## SVN ##
## SVN ## Remove duplicate const specifiers in many drivers (I hope I got all of
## SVN ## them, please let me know if not).  Most of these are of the form:
## SVN ##
## SVN ## static const struct bzzt_type {
## SVN ##       [...list of members...]
## SVN ## } const bzzt_devs[] = {
## SVN ##       [...list of initializers...]
## SVN ## };
## SVN ##
## SVN ## The second const is unnecessary, as arrays cannot be modified anyway,
## SVN ## and if the elements are const, the whole thing is const automatically
## SVN ## (e.g. it is placed in .rodata).
## SVN ##
## SVN ## I have verified this does not change the binary output of a full kernel
## SVN ## build (except for build timestamps embedded in the object files).
## SVN ##
## SVN ## Reviewed by:	yongari, marius
## SVN ##
## SVN ## ------------------------------------------------------------------------
## SVN ##
@
text
@d1 1
a1 1
# $FreeBSD: stable/8/sys/boot/ia64/efi/Makefile 188895 2009-02-21 15:04:31Z ru $
@


1.30.2.1.8.1
log
@SVN rev 232438 on 2012-03-03 06:15:13Z by kensmith

Copy stable/8 to releng/8.3 as part of 8.3-RELEASE release cycle.

Approved by:	re (implicit)
@
text
@@


1.30.2.1.8.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/8.3/sys/boot/ia64/efi/Makefile 188895 2009-02-21 15:04:31Z ru $
@


1.30.2.1.6.1
log
@SVN rev 216617 on 2010-12-21 17:09:25Z by kensmith

Copy stable/8 to releng/8.2 in preparation for FreeBSD-8.2 release.

Approved by:	re (implicit)
@
text
@@


1.30.2.1.4.1
log
@SVN rev 209145 on 2010-06-14 02:09:06Z by kensmith

Copy stable/8 to releng/8.1 in preparation for 8.1-RC1.

Approved by:	re (implicit)
@
text
@@


1.30.2.1.2.1
log
@SVN rev 198460 on 2009-10-25 01:10:29Z by kensmith

Copy stable/8 to releng/8.0 as part of 8.0-RELEASE release procedure.

Approved by:	re (implicit)
@
text
@@


1.29
log
@SVN rev 180012 on 2008-06-25 21:33:28Z by ru

Enable GCC stack protection (aka Propolice) for userland:
- It is opt-out for now so as to give it maximum testing, but it may be
  turned opt-in for stable branches depending on the consensus.  You
  can turn it off with WITHOUT_SSP.
- WITHOUT_SSP was previously used to disable the build of GNU libssp.
  It is harmless to steal the knob as SSP symbols have been provided
  by libc for a long time, GNU libssp should not have been much used.
- SSP is disabled in a few corners such as system bootstrap programs
  (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves.
- It should be safe to use -fstack-protector-all to build world, however
  libc will be automatically downgraded to -fstack-protector because it
  breaks rtld otherwise.
- This option is unavailable on ia64.

Enable GCC stack protection (aka Propolice) for kernel:
- It is opt-out for now so as to give it maximum testing.
- Do not compile your kernel with -fstack-protector-all, it won't work.

Submitted by:	Jeremie Le Hen <jeremie@@le-hen.org>
@
text
@a3 1
WITHOUT_SSP=
d6 1
@


1.28
log
@Major rework of the ia64 loaders. The two primary objectives are:
1. Make libefi portable by removing ia64 specific code and build
   it on i386 and amd64 by default to prevent regressions. These
   changes include fixes and improvements over previous code to
   establish or improve APIs where none existed or when the amount
   of kluging was unacceptably high.
2. Increase the amount of sharing between the efi and ski loaders
   to improve maintainability of the loaders and simplify making
   changes to the loader-kernel handshaking in the future.

The version of the efi and ski loaders are now both changed to 1.2
as user visible improvements and changes have been made.
@
text
@d4 1
@


1.28.2.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/7/sys/boot/ia64/efi/Makefile 164010 2006-11-05 22:03:04Z marcel $
@


1.28.12.1
log
@SVN rev 216618 on 2010-12-21 17:10:29Z by kensmith

Copy stable/7 to releng/7.4 in preparation for FreeBSD-7.4 release.

Approved by:	re (implicit)
@
text
@@


1.28.12.2
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: releng/7.4/sys/boot/ia64/efi/Makefile 164010 2006-11-05 22:03:04Z marcel $
@


1.28.10.1
log
@SVN rev 203736 on 2010-02-10 00:26:20Z by kensmith

Copy stable/7 to releng/7.3 as part of the 7.3-RELEASE process.

Approved by:	re (implicit)
@
text
@@


1.28.8.1
log
@SVN rev 191087 on 2009-04-15 03:14:26Z by kensmith

Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.

Approved by:	re (implicit)
@
text
@@


1.28.6.1
log
@SVN rev 185281 on 2008-11-25 02:59:29Z by kensmith

Create releng/7.1 in preparation for moving into RC phase of 7.1 release
cycle.

Approved by:	re (implicit)
@
text
@@


1.27
log
@Reimplementation of world/kernel build options.  For details, see:

http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by:	imp, jhb, kris, phk, ru (all bugs are mine)
@
text
@d9 1
a9 1
SRCS=		conf.c dev_net.c efimd.c main.c start.S vers.c
d11 4
a14 1
CFLAGS+=	-DLOADER
d17 1
a17 1
CFLAGS+=	-I${.CURDIR}/../../efi/libefi
a19 23
.if ${MK_FORTH} != "no"
BOOT_FORTH=	yes
CFLAGS+=	-DBOOT_FORTH
CFLAGS+=	-I${.CURDIR}/../../ficl
CFLAGS+=	-I${.CURDIR}/../../ficl/${MACHINE_ARCH}
LIBFICL=	${.OBJDIR}/../../ficl/libficl.a
.endif

# Always add MI sources 
.PATH: ${.CURDIR}/../../common
.include "${.CURDIR}/../../common/Makefile.inc"

CFLAGS+=	-I${.CURDIR}/../../common

.PATH: ${.CURDIR}/../../forth
FILES=		loader.efi loader.help loader.4th support.4th loader.conf
FILESMODE_loader.efi= ${BINMODE}
FILESDIR_loader.conf= /boot/defaults

.if !exists(${DESTDIR}/boot/loader.rc)
FILES+=		loader.rc
.endif

a24 2
CLEANFILES=	vers.c loader.efi loader.help

d33 3
d39 1
d46 1
a46 3
loader.help:	help.common
	cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk \
	    > ${.TARGET}
d48 1
d50 3
d54 3
a56 2
DPADD=		${LIBFICL} ${LIBEFI} ${LIBSTAND}
LDADD=		${LIBFICL} ${LIBEFI} -lstand
@


1.26
log
@NOFORTH -> NO_FORTH
@
text
@d3 4
a9 1
NO_MAN=
d17 1
a17 1
.if !defined(NO_FORTH)
@


1.26.2.1
log
@Switch importer
@
text
@d1 1
a1 1
# $FreeBSD: stable/6/sys/boot/ia64/efi/Makefile 139123 2004-12-21 12:32:15Z ru $
@


1.26.12.1
log
@SVN rev 183531 on 2008-10-02 02:57:24Z by kensmith

Create releng/6.4 from stable/6 in preparation for 6.4-RC1.

Approved by:	re (implicit)
@
text
@@


1.25
log
@Start the dreaded NOFOO -> NO_FOO conversion.

OK'ed by:	core
@
text
@d14 1
a14 1
.if !defined(NOFORTH)
@


1.24
log
@Add efimd.c. This file contains MD code used by the EFI library. While
changing the Makefile, fail the creation of loader.efi when there are
unresolved symbols in loader.sym. This avoids silently creating a
faulty EFI binary.
@
text
@d6 1
a6 1
NOMAN=
@


1.23
log
@This file was repocopied from src/sys/boot/efi/loader.
Updated for the new build location.
@
text
@d5 1
a5 1
SRCS=		conf.c dev_net.c main.c start.S vers.c
d50 1
d53 4
d59 1
a59 1
	    --target=efi-app-${MACHINE_ARCH} loader.sym loader.efi
@


1.22
log
@Fix the creation of EFI images that got broken by the import of
binutils 2.15. The linker now creates a .rela.dyn section for
dynamic relocations, while our script created a .rela section.
Likewise, we copied the .rela section to the EFI image, but not
the .rela.dyn section. The fix is to rename .rela to .rela.dyn
in the linker script so that all relocations end up in the same
section again. This we copy into the EFI image.
@
text
@d3 1
a3 1
PROG= 		loader.sym
d5 1
a6 3
NEWVERSWHAT=	"EFI boot" ${MACHINE_ARCH}

SRCS=		start.S main.c conf.c dev_net.c vers.c
d8 5
a12 1
.PATH: ${.CURDIR}/../libefi/arch/${MACHINE_ARCH}
a14 1
# Enable BootForth
d17 2
a18 1
CFLAGS+=	-I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/${MACHINE_ARCH}
a21 2
LIBEFI=		${.OBJDIR}/../libefi/libefi.a

d26 10
a35 6
CFLAGS+= -I${.CURDIR}/../include
CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH}
CFLAGS+= -I${.CURDIR}/../../common
CFLAGS+= -I${.CURDIR}/../libefi
CFLAGS+= -I${.CURDIR}/../../../../lib/libstand
CFLAGS+= -DLOADER
d37 1
a37 1
LDSCRIPT=	${.CURDIR}/../libefi/arch/${MACHINE_ARCH}/ldscript.${MACHINE_ARCH}
d39 2
a40 1
OBJCOPY?=	objcopy
d44 2
d49 2
d52 3
a54 11
	${OBJCOPY} -j .text \
		-j .data \
		-j .sdata \
		-j .dynamic \
		-j .rela.dyn \
		-j .reloc \
		-j .hash \
		-j .dynsym \
		-j .dynstr \
		--target=efi-app-${MACHINE_ARCH} \
		loader.sym loader.efi
d60 1
a60 8
.PATH: ${.CURDIR}/../../forth
FILES=	loader.efi loader.help loader.4th support.4th loader.conf
FILESMODE_loader.efi= ${BINMODE}
FILESDIR_loader.conf=	/boot/defaults

.if !exists(${DESTDIR}/boot/loader.rc)
FILES+=	loader.rc
.endif
d62 2
a63 2
DPADD=	${LIBFICL} ${LIBEFI} ${LIBSTAND}
LDADD=	${LIBFICL} ${LIBEFI} -lstand
@


1.21
log
@Don't create a mapfile during link. It's not needed for the build.
@
text
@a43 1
		-j .hash \
d47 1
a47 1
		-j .rela \
d49 1
@


1.20
log
@Tidy up makefiles.

Tested by:	marcel
@
text
@d34 1
a34 1
LDFLAGS=	-Wl,-T${LDSCRIPT} -Wl,-M,-Map,loader.list -shared -symbolic
d37 1
a37 1
CLEANFILES=	vers.c loader.efi loader.list loader.help
@


1.19
log
@Consistently use NOFORTH to control the usage of ficl.
@
text
@d3 2
a4 4
.PATH: ${.CURDIR}/../common

BASE= 		loader
PROG= 		${BASE}.efi
a6 2
BINDIR?=	/boot
STRIP=		# We must not strip loader.efi at install time.
d8 1
a8 1
SRCS+=		main.c conf.c dev_net.c
d10 1
a10 1
CFLAGS+=	-ffreestanding
a16 1
.if exists(${.OBJDIR}/../../ficl/libficl.a)
a17 10
.else
LIBFICL=	${.CURDIR}/../../ficl/libficl.a
.endif
.endif

# where to get libstand from
.if exists(${.OBJDIR}/../../../../lib/libstand/libstand.a)
LIBSTAND=	${.OBJDIR}/../../../../lib/libstand/libstand.a
.else
LIBSTAND=	${.CURDIR}/../../../../lib/libstand/libstand.a
a19 1
.if exists(${.OBJDIR}/../libefi/libefi.a)
a20 3
.else
LIBEFI=		${.CURDIR}/../libefi/libefi.a
.endif
d24 1
a24 1
.include <${.CURDIR}/../../common/Makefile.inc>
a25 1
CFLAGS+= -I-
d28 1
a28 2
CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}
CFLAGS+= -I${.CURDIR}/../../.. -I.
d34 1
a34 1
LDFLAGS=	-nostdlib -T ${LDSCRIPT} -shared -Bsymbolic
d37 1
a37 8
CLEANFILES+=	setdef0.c setdef0.o setdef1.c setdef1.o setdefs.h start.o \
		vers.c vers.o ${BASE}.efi ${BASE}.sym ${BASE}.list
CLEANFILES+=	loader.help
CLEANFILES+=	machine

CRT=	start.o

all: ${BASE}
d39 1
a39 1
vers.o: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
a40 1
	${CC} -c vers.c
d42 1
a42 3
${BASE}:	${BASE}.efi ${BASE}.help

${BASE}.efi: ${BASE}.sym
d53 1
a53 1
		${BASE}.sym ${BASE}.efi
d55 1
a55 1
${BASE}.help:	help.common
d59 5
a63 8
beforeinstall:
.if exists(${.OBJDIR}/loader.help)
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.OBJDIR}/${BASE}.help ${DESTDIR}/boot
.else
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/${BASE}.help ${DESTDIR}/boot
.endif
d65 1
a65 2
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.rc ${DESTDIR}/boot
a66 7
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.4th ${DESTDIR}/boot
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/support.4th ${DESTDIR}/boot
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
		${.CURDIR}/../../forth/loader.conf ${DESTDIR}/boot/defaults

d68 2
a69 6
# Other fragments still to be brought in from ../Makfile.booters?
start.o: ${.CURDIR}/../libefi/arch/${MACHINE_ARCH}/start.S
	${CC} -c ${CFLAGS} ${.IMPSRC}

machine:
	ln -sf ${.CURDIR}/../../../${MACHINE_ARCH}/include machine
a71 6

${BASE}.sym: ${OBJS} ${LIBFICL} ${LIBEFI} ${LIBSTAND} ${CRT} vers.o
	${LD} ${LDFLAGS} -o ${BASE}.sym -M ${CRT} ${OBJS} vers.o \
	    ${LIBFICL} ${LIBEFI} ${LIBSTAND} > ${.OBJDIR}/${BASE}.list

beforedepend ${OBJS}: machine
@


1.18
log
@-ffreestanding is the word.
(also resort some CFLAGS such that the more "important" value are first so
they are easier to see)
@
text
@d15 2
d19 1
a20 2
.if BOOT_FORTH
CFLAGS+=	-DBOOT_FORTH
a25 2
.else
LIBFICL=
@


1.17
log
@We must not let install(1) strip loader.efi when installing it, or the
resulting binary will be damaged and no longer work.
@
text
@d14 1
@


1.16
log
@Set BINDIR
@
text
@d10 1
@


1.15
log
@Add loader bootforth infrastructure and install it.
@
text
@d9 1
@


1.14
log
@Try and tidy up some very loose ends with paths to various libraries etc.
@
text
@d63 1
a63 1
all: ${PROG}
d69 2
d84 1
a84 1
${BASE}.help:	help.common help.efi
d89 8
a96 1
.if exists(${.OBJDIR}/${BASE}.help)
d98 1
a98 1
	    ${.OBJDIR}/${BASE}.help ${DESTDIR}/boot
d100 7
@


1.13
log
@Do not assume that ${OBJCOPY} variable exists.  It was hidden by the
fact that the 'ia64-make' wrapper explicitly set it.
@
text
@d26 13
d101 1
a101 1
${BASE}.sym: ${OBJS} ${LIBEFI} ${CRT} vers.o
d103 1
a103 2
	    ${LIBFICL}  ${LIBEFI} -L${DESTDIR}${LIBDIR} ${LIBSTAND} \
	    > ${.OBJDIR}/${BASE}.list
@


1.12
log
@Fix self hosted loader building.  When you use a self configured gcc, it
detects and uses the gas section merge support.  As a result, a whole bunch
of new sections arrive, including .rodata.str1.8, which was not included
in our custom ldscript.ia64.  The result was a loader binary that EFI
rejected.

While here, collect the loader shell commands linker set and include it
in the data area rather than having its own section.

/boot/loader.efi was the last holdout for having a 100% self built ia64
system.
@
text
@d41 1
@


1.11
log
@Use a relative path to libstand.. /usr/src/lib/libstand may not exist
or may have the wrong header files.
@
text
@a56 1
		-j set_Xcommand_set \
@


1.10
log
@Only install the help file if we can find it. Use ${BASE}.help
in both the condition and for the install. We expect to find
the help file in ${.OBJDIR}.
@
text
@d36 1
a36 1
CFLAGS+= -I/usr/src/lib/libstand
@


1.9
log
@o  Add -L${DESTDIR}${LIBDIR} on the link line for -lstand.
o  Add -j .dynstr to objcopy. This makes .efi binaries work
   when built with a 3.x based toolchain.
@
text
@d74 1
a74 1
.if exists(${.OBJDIR}/loader.help)
a76 3
.else
	${INSTALL} -C -o ${BINOWN} -g ${BINGRP} -m 444 \
	    ${.CURDIR}/${BASE}.help ${DESTDIR}/boot
@


1.8
log
@s/alpha/${MACHINE_ARCH}/g
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/efi/loader/Makefile,v 1.7 2001/09/22 19:12:30 dfr Exp $
d65 1
d91 3
a93 4
${BASE}.sym: ${OBJS} ${LIBSTAND} ${LIBEFI} ${CRT} vers.o
	${LD} ${LDFLAGS} -o ${BASE}.sym -M \
	    ${CRT} ${OBJS} vers.o \
	    ${LIBFICL} ${LIBSTAND} ${LIBEFI} ${LIBSTAND} \
@


1.7
log
@Add EFI network support.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/efi/loader/Makefile,v 1.6 2001/09/04 14:48:59 dfr Exp $
d14 1
a14 1
CFLAGS+=	-I${.CURDIR}/../../ficl -I${.CURDIR}/../../ficl/alpha
@


1.6
log
@Enable bootforth.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/efi/loader/Makefile,v 1.5 2001/09/04 08:59:38 dfr Exp $
d10 1
a10 1
SRCS+=		main.c conf.c
d36 1
d90 1
a90 1
${BASE}.sym: ${OBJS} ${LIBSTAND} ${LIBARC} ${CRT} vers.o
@


1.5
log
@Make sure we copy over the linker set sections to the EFI executable.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/efi/loader/Makefile,v 1.4 2001/07/10 16:18:20 dfr Exp $
d13 1
a13 1
#BOOT_FORTH=	yes
@


1.4
log
@Make this build again after breakage from previous commits.
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/efi/loader/Makefile,v 1.3 2001/06/16 06:17:16 obrien Exp $
d56 1
@


1.3
log
@style cleanup
@
text
@d1 1
a1 1
# $FreeBSD: src/sys/boot/efi/loader/Makefile,v 1.2 2001/06/14 01:23:57 peter Exp $
a65 6
${BASE}.sym: ${OBJS} ${LIBSTAND} ${LIBARC} ${CRT} vers.o
	${LD} ${LDFLAGS} -o ${BASE}.sym -M \
	    ${CRT} {OBJS} vers.o \
	    ${LIBFICL} ${LIBSTAND} ${LIBEFI} ${LIBSTAND} \
	    > ${.OBJDIR}/${BASE}.list

d87 6
@


1.2
log
@Nuke old gensetdefs based linker sets with extreme prejudice
@
text
@d1 3
a3 1
# $FreeBSD: src/sys/boot/efi/loader/Makefile,v 1.1 2001/06/09 16:49:51 dfr Exp $
a9 2
.PATH:		${.CURDIR}/../common

d27 10
a36 10
.PATH:		${.CURDIR}/../../common
.include	<${.CURDIR}/../../common/Makefile.inc>
CFLAGS+=	-I-
CFLAGS+=	-I${.CURDIR}/../include
CFLAGS+=	-I${.CURDIR}/../include/${MACHINE_ARCH}
CFLAGS+=	-I${.CURDIR}/../../common -I${.CURDIR}
CFLAGS+=	-I${.CURDIR}/../../.. -I.
CFLAGS+=	-I${.CURDIR}/../libefi
CFLAGS+=	-DLOADER
CFLAGS+=	-Wall
d46 1
a46 1
CRT=		start.o
d48 1
a48 1
all:		${PROG}
d68 3
a70 3
	${CRT} {OBJS} vers.o \
	${LIBFICL} ${LIBSTAND} ${LIBEFI} ${LIBSTAND} \
	> ${.OBJDIR}/${BASE}.list
d73 2
a74 1
	cat ${.ALLSRC} | awk -f ${.CURDIR}/../../common/merge_help.awk > ${.TARGET}
d79 1
a79 1
		${.OBJDIR}/${BASE}.help ${DESTDIR}/boot
d82 1
a82 1
		${.CURDIR}/${BASE}.help ${DESTDIR}/boot
d86 2
a87 2
start.o:	${.CURDIR}/../libefi/arch/${MACHINE_ARCH}/start.S
	${CC} -c ${CFLAGS} $<
@


1.1
log
@First approximation of an ia64 EFI loader. Not functional.
@
text
@d1 1
a1 1
# $FreeBSD$
d66 1
a66 1
${BASE}.sym: ${OBJS} ${LIBSTAND} ${LIBARC} ${CRT} vers.o setdef0.o setdef1.o
d68 1
a68 1
	${CRT} setdef0.o ${OBJS} setdef1.o vers.o \
a87 4
setdef0.o: setdefs.h

setdef1.o: setdefs.h

a91 5

.ORDER: setdefs.h setdef0.c setdef1.c
setdefs.h setdef0.c setdef1.c: ${OBJS}
	@@echo Generating linker sets
	@@perl ${.CURDIR}/../../../kern/gensetdefs.pl ${OBJS}
@

