1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83
|
# plex86: run multiple x86 operating systems concurrently
# Copyright (C) 1999-2001 Kevin P. Lawton
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
CC = @CC@
CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
EMU_TARGET = emu.o
srcdir = @srcdir@
VPATH = @srcdir@
LD = ld
# extra kernel CFLAGS and LDFLAGS for each host OS
KCFLAGS_LINUX = -fno-strength-reduce -fomit-frame-pointer \
-malign-loops=2 -malign-jumps=2 -malign-functions=2 \
-D__KERNEL__ -I@LINUX_SRC@/include -DCPU=586 -DMODULE \
-DEMULATION
KLDFLAGS_LINUX = -r
KCFLAGS_BEOS =
KLDFLAGS_BEOS = -nostdlib /boot/develop/lib/x86/_KERNEL_
KCFLAGS_NETBSD = -fno-strength-reduce -nostdinc -fomit-frame-pointer \
-malign-loops=2 -malign-jumps=2 -malign-functions=2 \
-D_KERNEL -I@NETBSD_SRC@ -DCPU=586 -DMODULE \
-DEMULATION -I.. -D_LKM
KLDFLAGS_NETBSD = -r
KCFLAGS_FREEBSD = -fno-strength-reduce -nostdinc -fomit-frame-pointer \
-malign-loops=2 -malign-jumps=2 -malign-functions=2 \
-D_KERNEL -I@NETBSD_SRC@ -DCPU=586 -DMODULE \
-DEMULATION -I.. -D_LKM
KLDFLAGS_FREEBSD = -r
KLDFLAGS = $(KLDFLAGS_@HOSTOS@)
ALL_CFLAGS = $(CFLAGS) $(KCFLAGS_@HOSTOS@) -I$(srcdir)/../include -I$(srcdir)/../..
.c.o:
$(CC) -c $(ALL_CFLAGS) -DIN_MONITOR_SPACE $<
.S.o:
$(CC) -c $(ALL_CFLAGS) -D__ASSEMBLY__ $<
$(EMU_TARGET): \
emulation.o fetchdecode.o io_pro.o \
exception.o protect_ctrl.o ctrl_xfer32.o access.o \
stack_pro.o segment_pro.o paging.o \
segment_ctrl.o ctrl_xfer_pro.o stack.o flag.o \
ctrl_xfer16.o data_xfer16.o data_xfer32.o regs.o \
logical16.o logical32.o vm8086.o soft_int.o tasking.o \
data_xfer8.o shift32.o io_pro.o \
proc_ctrl.o arith32.o arith16.o arith8.o logical8.o \
mult32.o string.o ctrl_xfer8.o io.o shift8.o mult8.o \
shift16.o mult16.o bcd.o bit.o fpu.o
$(LD) $(KLDFLAGS) $^ -o $@
clean:
/bin/rm -f *.o *.so *.s $(KERNEL_TARGET)
dist-clean: clean
/bin/rm -f Makefile
Makefile: Makefile.in ../../config.status
cd ../..; CONFIG_FILES=kernel/emulation/Makefile CONFIG_HEADERS= $(SHELL) config.status
|