# 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@ KERNEL_TARGET = @KERNEL_TARGET@ HOST_TARGET = @HOST_TARGET@ HOST_CLEAN = @HOST_CLEAN@ srcdir = @srcdir@ VPATH = @srcdir@ LD = ld HOST_O = @HOST_O@ # 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 KLDFLAGS_LINUX = -r KCFLAGS_NULL = -fno-strength-reduce -fomit-frame-pointer \ -malign-loops=2 -malign-jumps=2 -malign-functions=2 \ -D__KERNEL__ -DCPU=586 KLDFLAGS_NULL = -r KCFLAGS_NETBSD = -fno-strength-reduce -nostdinc -fomit-frame-pointer \ -malign-loops=2 -malign-jumps=2 -malign-functions=2 \ -D_KERNEL -I@NETBSD_SRC@ -I@NETBSD_SRC@/arch -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@FREEBSD_SRC@ -I@FREEBSD_SRC@/sys -I. -D_LKM \ -DFREEBSD_PLEX86_DEBUG KLDFLAGS_FREEBSD = -r KCFLAGS_BEOS = KLDFLAGS_BEOS = -nostdlib /boot/develop/lib/x86/_KERNEL_ KLDFLAGS = $(KLDFLAGS_@HOSTOS@) ALL_CFLAGS = $(CFLAGS) $(KCFLAGS_@HOSTOS@) -I$(srcdir)/include -I$(srcdir)/.. .c.o: $(CC) -c $(ALL_CFLAGS) $< .S.o: $(CC) -c $(ALL_CFLAGS) -D__ASSEMBLY__ $< main_target: $(HOST_TARGET) $(KERNEL_TARGET) @FULL_LINK@ $(KERNEL_TARGET): $(HOST_O) monitor-host.o \ nexus.o print-mon.o \ util-nexus.o \ fault-mon.o panic-mon.o \ paging-mon.o monitor-mon.o $(LD) $(KLDFLAGS) $^ -o $@ clean: $(HOST_CLEAN) main_clean main_clean: /bin/rm -f *.o *.s $(KERNEL_TARGET) a.out dist-clean: clean /bin/rm -f Makefile # Linux specific targets linux-target: linux-clean: # Null specific targets null-target: null-clean: # NetBSD specific targets netbsd-target: netbsd-machine netbsd-machine: ln -sf @NETBSD_SRC@/arch/i386/include machine netbsd-clean: /bin/rm -f machine # FreeBSD specific targets freebsd-target: freebsd-machine [ -r opt_posix.h ] || touch opt_posix.h freebsd-machine: ln -sf @FREEBSD_SRC@/i386/include machine freebsd-clean: /bin/rm -f opt_posix.h /bin/rm -f machine # BeOS specific targets beos-install: $(KERNEL_TARGET) cp -f $(KERNEL_TARGET) /boot/home/config/add-ons/kernel/drivers/bin mkdir -p /boot/home/config/add-ons/kernel/drivers/dev/misc ln -sf ../../bin/$(KERNEL_TARGET) /boot/home/config/add-ons/kernel/drivers/dev/misc/$(KERNEL_TARGET) Makefile: Makefile.in ../config.status cd ..; CONFIG_FILES=kernel/Makefile CONFIG_HEADERS= $(SHELL) config.status