head	1.20;
access;
symbols
	RELENG_2_2_8_RELEASE:1.8.2.1
	RELENG_3_0_0_RELEASE:1.18
	RELENG_2_2_7_RELEASE:1.8.2.1
	RELENG_2_2_6_RELEASE:1.8.2.1
	RELENG_2_2_5_RELEASE:1.8.2.1
	RELENG_2_2_2_RELEASE:1.8.2.1
	RELENG_2_2_1_RELEASE:1.8.2.1
	RELENG_2_2_0_RELEASE:1.8.2.1
	RELENG_2_1_7_RELEASE:1.1.2.1
	RELENG_2_1_6_1_RELEASE:1.1.2.1
	RELENG_2_1_6_RELEASE:1.1.2.1
	RELENG_2_2:1.8.0.2
	RELENG_2_2_BP:1.8
	RELENG_2_1_5_RELEASE:1.1.2.1
	RELENG_2_1_0_RELEASE:1.1
	RELENG_2_1_0:1.1.0.2;
locks; strict;
comment	@# @;


1.20
date	98.12.27.19.38.07;	author sos;	state dead;
branches;
next	1.19;

1.19
date	98.11.11.05.19.56;	author peter;	state Exp;
branches;
next	1.18;

1.18
date	98.07.07.02.04.20;	author bde;	state Exp;
branches;
next	1.17;

1.17
date	98.07.01.17.10.00;	author bde;	state Exp;
branches;
next	1.16;

1.16
date	98.03.19.12.35.55;	author bde;	state Exp;
branches;
next	1.15;

1.15
date	98.02.06.23.54.21;	author eivind;	state Exp;
branches;
next	1.14;

1.14
date	98.02.04.21.56.36;	author eivind;	state Exp;
branches;
next	1.13;

1.13
date	98.02.01.17.53.55;	author bde;	state Exp;
branches;
next	1.12;

1.12
date	97.12.16.18.45.50;	author eivind;	state Exp;
branches;
next	1.11;

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

1.10
date	97.01.14.06.22.07;	author jkh;	state Exp;
branches;
next	1.9;

1.9
date	97.01.10.05.48.49;	author mpp;	state Exp;
branches;
next	1.8;

1.8
date	96.06.25.20.13.12;	author bde;	state Exp;
branches
	1.8.2.1;
next	1.7;

1.7
date	96.03.10.08.42.31;	author sos;	state Exp;
branches;
next	1.6;

1.6
date	96.03.02.20.00.35;	author peter;	state Exp;
branches;
next	1.5;

1.5
date	96.01.27.23.57.06;	author rgrimes;	state Exp;
branches;
next	1.4;

1.4
date	96.01.08.05.36.17;	author peter;	state Exp;
branches;
next	1.3;

1.3
date	96.01.06.23.10.25;	author ache;	state Exp;
branches;
next	1.2;

1.2
date	95.12.29.22.10.49;	author sos;	state Exp;
branches;
next	1.1;

1.1
date	95.06.25.17.29.46;	author sos;	state Exp;
branches
	1.1.2.1;
next	;

1.1.2.1
date	96.01.28.00.00.10;	author rgrimes;	state Exp;
branches;
next	1.1.2.2;

1.1.2.2
date	99.09.05.11.21.53;	author peter;	state Exp;
branches;
next	;

1.8.2.1
date	97.01.10.05.54.36;	author mpp;	state Exp;
branches;
next	1.8.2.2;

1.8.2.2
date	99.09.05.11.20.34;	author peter;	state Exp;
branches;
next	;


desc
@@


1.20
log
@Remove LKM's depricated by modules.
@
text
@#	$Id: Makefile,v 1.19 1998/11/11 05:19:56 peter Exp $

.PATH:	${.CURDIR}/../../sys/i386/linux
KMOD=	linux_mod
SRCS=	linux.c linux_file.c linux_ioctl.c linux_misc.c linux_signal.c \
	linux_ipc.c linux_socket.c linux_stats.c \
	linux_dummy.c linux_sysent.c linux_sysvec.c linux_util.c \
	imgact_linux.c opt_compat.h opt_linux.h opt_vmpage.h vnode_if.h
OBJS=	linux_locore.o
MAN8=	linux.8

CFLAGS+= -DLKM -DCOMPAT_LINUX #-DDEBUG
EXPORT_SYMS=_linux_mod
CLEANFILES+= vnode_if.h vnode_if.c linux_genassym.o linux_genassym \
	linux_assym.h opt_compat.h opt_linux.h opt_vmpage.h

build-tools: linux_genassym

linux_assym.h:	linux_genassym
	./linux_genassym > linux_assym.h

linux_locore.o:	linux_locore.s linux_assym.h
	${CC} -c -x assembler-with-cpp -DLOCORE -DKERNEL ${CFLAGS} \
		${.IMPSRC} -o ${.TARGET}

linux_genassym.o:	linux_genassym.c linux.h @@ machine
	${CC} -c ${CFLAGS} -UKERNEL ${.IMPSRC}

linux_genassym:	linux_genassym.o
	${CC} ${CFLAGS} ${LDFLAGS} -o ${.TARGET} ${.ALLSRC}

opt_compat.h:
	echo "#define COMPAT_43 1" > opt_compat.h

opt_linux.h opt_vmpage.h:
	touch ${.TARGET}

#afterinstall:
#	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
#		${.CURDIR}/linux ${DESTDIR}/usr/bin

.include <bsd.kmod.mk>
@


1.19
log
@Cannot install two different versions of /usr/bin/linux in the same place.
This is replaced by the kld version now.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.18 1998/07/07 02:04:20 bde Exp $
@


1.18
log
@Added a `build-tools' target for internal tools.  (linux_genassym may
not actually work for cross compiling, but that is another problem.)

Honor LDFLAGS for building internal tools.  (Tools should normally
be built static to avoid problems with picking up target shared
libraries.  bsd.kmod doesn't set -static yet, and has some problems
with `LDFLAGS=-static ...' in the environment.)
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.17 1998/07/01 17:10:00 bde Exp $
d38 3
a40 3
afterinstall:
	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
		${.CURDIR}/linux ${DESTDIR}/usr/bin
@


1.17
log
@Fixed missing options headers.  Options that affect LKMs shouldn't
exist.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.16 1998/03/19 12:35:55 bde Exp $
d17 2
d30 1
a30 1
	${CC} ${CFLAGS} ${.ALLSRC} -o ${.TARGET}
@


1.16
log
@Fixed a race to build the `@@' and `machine' symlinks early enough
for `make -jN'.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.15 1998/02/06 23:54:21 eivind Exp $
d8 1
a8 1
	imgact_linux.c opt_compat.h vnode_if.h
d15 1
a15 1
	linux_assym.h opt_compat.h
d32 3
@


1.15
log
@Back out opt_diagnostic.h changes.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.14 1998/02/04 21:56:36 eivind Exp $
d24 1
a24 1
linux_genassym.o:	linux_genassym.c linux.h
@


1.14
log
@Make the LKMs handle DIAGNOSTIC as a new-style option.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.13 1998/02/01 17:53:55 bde Exp $
d8 1
a8 1
	imgact_linux.c opt_compat.h opt_diagnostic.h vnode_if.h
d15 1
a15 1
	linux_assym.h opt_compat.h opt_diagnostic.h
a28 3

opt_diagnostic.h:
	touch opt_diagnostic.h
@


1.13
log
@Don't handle the `machine' symlink or related include paths here.
bsd.kmod.mk now handles it more generally.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.12 1997/12/16 18:45:50 eivind Exp $
d8 1
a8 1
	imgact_linux.c opt_compat.h vnode_if.h
d15 1
a15 1
	linux_assym.h opt_compat.h
d29 3
@


1.12
log
@Handle COMPAT_43 define -> option change.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.11 1997/02/22 12:48:23 peter Exp $
d12 1
a12 1
CFLAGS+= -DLKM -I. -DCOMPAT_LINUX #-DDEBUG
d14 1
a14 1
CLEANFILES+= vnode_if.h vnode_if.c linux_genassym.o linux_genassym machine \
a29 3
machine:
	ln -fs ${.CURDIR}/../../sys/i386/include machine

a31 2

vnode_if.h:	machine
@


1.11
log
@Revert $FreeBSD$ back to $Id$
@
text
@d1 1
a1 1
#	$Id$
d8 1
a8 1
	imgact_linux.c vnode_if.h
d12 1
a12 1
CFLAGS+= -DLKM -I. -DCOMPAT_43 -DCOMPAT_LINUX #-DDEBUG
d15 1
a15 1
	linux_assym.h
d32 3
@


1.10
log
@Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
@
text
@d1 1
a1 1
#	$FreeBSD$
@


1.9
log
@Add a man page for linux(8) (loads the Linux emulator kernel module).
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.8 1996/06/25 20:13:12 bde Exp $
@


1.8
log
@Fixed the `machine' link.  It pointed to the wrong place, and was created
too late to be used in all cases.  It should probably be created (early)
in bsd.kmod.mk for all LKMs.

Use cc instead of cpp | as for the same reasons as in the kernel makefile.
CFLAGS isn't split up as well as in the kernel makefile, but cc doesn't
pass compiler warning flags to cpp, so there is no need to split it.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.7 1996/03/10 08:42:31 sos Exp $
d10 1
a10 1
NOMAN=
@


1.8.2.1
log
@YAMFC:  install the linux(8) man page.

The new man page was tagged onto the RELENG_2_2 branch.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.9 1997/01/10 05:48:49 mpp Exp $
d10 1
a10 1
MAN8=	linux.8
@


1.8.2.2
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
# $FreeBSD$
@


1.7
log
@First attempt at FreeBSD & Linux ELF support.

Compile and link a new kernel, that will give native ELF support, and
provide the hooks for other ELF interpreters as well.

To make native ELF binaries use John Polstras elf-kit-1.0.1..
For the time being also use his ld-elf.so.1 and put it in
/usr/libexec.

The Linux emulator has been enhanced to also run ELF binaries, it
is however in its very first incarnation.
Just get some Linux ELF libs (Slackware-3.0) and put them in the
prober place (/compat/linux/...).
I've ben able to run all the Slackware-3.0 binaries I've tried
so far.
(No it won't run quake yet :)
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.6 1996/03/02 20:00:35 peter Exp $
a12 1
CPPFLAGS= -I. -I${.CURDIR}/../../sys
d21 2
a22 3
	@@if [ ! -h machine ]; then ln -s ${.CURDIR}/../../i386/include machine \
	; fi
	${CPP} -DLOCORE -DKERNEL ${CPPFLAGS} ${.IMPSRC} | ${AS} ${ASFLAGS} -o ${.TARGET}
d30 5
d37 1
a37 1
	${.CURDIR}/linux ${DESTDIR}/usr/bin
@


1.6
log
@Update the linux lkm to use the new file list and build routine.
This is a bit of a kludge and needs more work.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.5 1996/01/27 23:57:06 rgrimes Exp $
d14 1
a14 1

@


1.5
log
@Add missing ${DESTDIR} to afterinstall: target.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.4 1996/01/08 05:36:17 peter Exp $
d6 4
a9 2
	linux_generic.c linux_ipc.c linux_socket.c linux_stats.c \
	linux_dummy.c linux_sysent.c imgact_linux.c vnode_if.h
d11 20
a30 2
CFLAGS+= -DLKM -I. -DCOMPAT_LINUX # -DDEBUG
CLEANFILES+= vnode_if.h vnode_if.c
@


1.4
log
@No longer generate empty opt_sysvipc.h, and no longer issue -DSYSVSHM etc
for the CFLAGS.  Now, it tracks whatever the booted kernel has rather than
being specifying what features your kernel has at lkm build time.
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.3 1996/01/06 23:10:25 ache Exp $
d14 1
a14 1
	${.CURDIR}/linux /usr/bin
@


1.3
log
@Add opt_sysvipc.h rules similar as in ibcs2 Makefile
(make fails in old case)
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.2 1995/12/29 22:10:49 sos Exp $
d5 1
a5 2
SRCS=	opt_sysvipc.h \
	linux.c linux_file.c linux_ioctl.c linux_misc.c linux_signal.c \
d9 1
a9 1
CFLAGS+= -DLKM -I. -DCOMPAT_LINUX -DSYSVSHM -DSYSVMSG # -DSYSVSEM #-DDEBUG
a14 3

opt_sysvipc.h:
	touch opt_sysvipc.h
@


1.2
log
@Added SYSVSHM define
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.1 1995/06/25 17:29:46 sos Exp $
d5 2
a6 1
SRCS= 	linux.c linux_file.c linux_ioctl.c linux_misc.c linux_signal.c \
d16 3
@


1.1
log
@First incarnation of our Linux emulator or rather compatibility code.
This first shot only incorporaties so much functionality that DOOM
can run (the X version), signal handling is VERY weak, so is many
other things. But it meets my milestone number one (you guessed it
- running DOOM).

Uses /compat/linux as prefix for loading shared libs, so it won't
conflict with our own libs.

Kernel must be compiled with "options COMPAT_LINUX" for this to work.
@
text
@d1 1
a1 1
#	$Id$
d9 1
a9 1
CFLAGS+= -DLKM -I. -DCOMPAT_LINUX -DSYSVSHM #-DSYSVMSG -DSYSVSEM #-DDEBUG
@


1.1.2.1
log
@Add missing ${DESTDIR} to afterinstall: target. (cvs update -j1.4 -j1.5)
@
text
@d1 1
a1 1
#	$Id: Makefile,v 1.1 1995/06/25 17:29:46 sos Exp $
d14 1
a14 1
	${.CURDIR}/linux ${DESTDIR}/usr/bin
@


1.1.2.2
log
@$Id$ -> $FreeBSD$
@
text
@d1 1
a1 1
# $FreeBSD$
@

