7382b84f8c
add SVGALIB display library by Igor Popik <igipop@wsfiz.edu.pl> While it's running, you can press F12 to escape into the runtime config menu, and then you can change disks or quit or whatever. Better not try it with the bochs debugger...you could get stuck. Modified Files: Makefile.in config.h.in configure configure.in main.cc plugin.h gui/Makefile.in Added Files: gui/svga.cc Removed Files: patches/patch.svgalib-gui patches/patch.svgalib-gui-f12
695 lines
26 KiB
Makefile
695 lines
26 KiB
Makefile
# Copyright (C) 2002 MandrakeSoft S.A.
|
|
#
|
|
# MandrakeSoft S.A.
|
|
# 43, rue d'Aboukir
|
|
# 75002 Paris - France
|
|
# http://www.linux-mandrake.com/
|
|
# http://www.mandrakesoft.com/
|
|
#
|
|
# 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
|
|
#
|
|
####################################################
|
|
# NOTE: To be compatibile with nmake (microsoft vc++) please follow
|
|
# the following rules:
|
|
# use $(VAR) not ${VAR}
|
|
|
|
prefix = @prefix@
|
|
exec_prefix = @exec_prefix@
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
bindir = @bindir@
|
|
libdir = @libdir@
|
|
plugdir = @libdir@/bochs-$(VERSION)/plugins
|
|
mandir = @mandir@
|
|
man1dir = $(mandir)/man1
|
|
man5dir = $(mandir)/man5
|
|
docdir = $(prefix)/share/doc/bochs
|
|
sharedir = $(prefix)/share/bochs
|
|
top_builddir = .
|
|
top_srcdir = $(srcdir)
|
|
|
|
DESTDIR =
|
|
|
|
VERSION=@VERSION@
|
|
VER_STRING=@VER_STRING@
|
|
REL_STRING=@REL_STRING@
|
|
MAN_PAGE_1_LIST=bochs bximage bochs-dlx
|
|
MAN_PAGE_5_LIST=bochsrc
|
|
INSTALL_LIST_SHARE=bios/BIOS-* bios/VGABIOS* @INSTALL_LIST_FOR_PLATFORM@
|
|
INSTALL_LIST_DOC=CHANGES COPYING README
|
|
INSTALL_LIST_BIN=bochs bximage
|
|
INSTALL_LIST_BIN_OPTIONAL=bochsdbg $(srcdir)/build/linux/bochs-docs
|
|
INSTALL_LIST_WIN32=$(INSTALL_LIST_SHARE) $(INSTALL_LIST_DOC) $(INSTALL_LIST_BIN) $(INSTALL_LIST_BIN_OPTIONAL) niclist
|
|
INSTALL_LIST_X11=install-x11-fonts test-x11-fonts
|
|
INSTALL_LIST_SED=DOC-linux.html
|
|
CP=cp
|
|
CAT=cat
|
|
RM=rm
|
|
MV=mv
|
|
LN_S=ln -sf
|
|
DLXLINUX_TAR=dlxlinux3.tar.gz
|
|
DLXLINUX_TAR_URL=http://bochs.sourceforge.net/guestos/$(DLXLINUX_TAR)
|
|
DLXLINUX_ROMFILE=BIOS-bochs-latest
|
|
GUNZIP=gunzip
|
|
WGET=wget
|
|
SED=sed
|
|
MKDIR=mkdir
|
|
RMDIR=rmdir
|
|
TAR=tar
|
|
CHMOD=chmod
|
|
GZIP=gzip -9
|
|
GUNZIP=gunzip
|
|
ZIP=zip
|
|
UNIX2DOS=unix2dos
|
|
LIBTOOL=@LIBTOOL@
|
|
DLLTOOL=dlltool
|
|
|
|
@SUFFIX_LINE@
|
|
|
|
srcdir = @srcdir@
|
|
VPATH = @srcdir@
|
|
|
|
SHELL = /bin/sh
|
|
|
|
@SET_MAKE@
|
|
|
|
CC = @CC@
|
|
CXX = @CXX@
|
|
CFLAGS = @CFLAGS@ @GUI_CFLAGS@ $(MCH_CFLAGS) $(FLA_FLAGS) @DEFINE_PLUGIN_PATH@
|
|
CXXFLAGS = @CXXFLAGS@ @GUI_CXXFLAGS@ $(MCH_CFLAGS) $(FLA_FLAGS) @DEFINE_PLUGIN_PATH@
|
|
|
|
LDFLAGS = @LDFLAGS@
|
|
LIBS = @LIBS@
|
|
# To compile with readline:
|
|
# linux needs just -lreadline
|
|
# solaris needs -lreadline -lcurses
|
|
X_LIBS = @X_LIBS@
|
|
X_PRE_LIBS = @X_PRE_LIBS@
|
|
GUI_LINK_OPTS_X = $(X_LIBS) $(X_PRE_LIBS) -lX11
|
|
GUI_LINK_OPTS_SDL = `sdl-config --cflags --libs`
|
|
GUI_LINK_OPTS_SVGA = -lvga -lvgagl
|
|
GUI_LINK_OPTS_BEOS = -lbe
|
|
GUI_LINK_OPTS_RFB = @RFB_LIBS@
|
|
GUI_LINK_OPTS_AMIGAOS =
|
|
GUI_LINK_OPTS_WIN32 = -luser32 -lgdi32 -lcomdlg32 -lcomctl32
|
|
GUI_LINK_OPTS_WIN32_VCPP = user32.lib gdi32.lib winmm.lib \
|
|
comdlg32.lib comctl32.lib wsock32.lib
|
|
GUI_LINK_OPTS_MACOS =
|
|
GUI_LINK_OPTS_CARBON = -framework Carbon
|
|
GUI_LINK_OPTS_NOGUI =
|
|
GUI_LINK_OPTS_TERM = @GUI_LINK_OPTS_TERM@
|
|
GUI_LINK_OPTS_WX = @GUI_LINK_OPTS_WX@
|
|
GUI_LINK_OPTS = @GUI_LINK_OPTS@ @DEVICE_LINK_OPTS@
|
|
RANLIB = @RANLIB@
|
|
|
|
CFLAGS_CONSOLE = @CFLAGS@ $(MCH_CFLAGS) $(FLA_FLAGS)
|
|
CXXFLAGS_CONSOLE = @CXXFLAGS@ $(MCH_CFLAGS) $(FLA_FLAGS)
|
|
|
|
BX_INCDIRS = -I. -I$(srcdir)/. -I@INSTRUMENT_DIR@ -I$(srcdir)/@INSTRUMENT_DIR@
|
|
|
|
#SUBDIRS = iodev debug
|
|
|
|
#all install uninstall: config.h#
|
|
# for subdir in $(SUBDIRS); do #
|
|
# echo making $@ in $$subdir; #
|
|
# (cd $$subdir && $(MAKE) $(MDEFINES) $@) || exit 1; #
|
|
# done#
|
|
|
|
|
|
|
|
# gnu flags for clean up
|
|
#CFLAGS = -ansi -O -g -Wunused -Wuninitialized
|
|
|
|
|
|
NONINLINE_OBJS = \
|
|
logio.o \
|
|
main.o \
|
|
load32bitOShack.o \
|
|
state_file.o \
|
|
pc_system.o \
|
|
osdep.o \
|
|
plugin.o \
|
|
@EXTRA_BX_OBJS@
|
|
|
|
EXTERN_ENVIRONMENT_OBJS = \
|
|
main.o \
|
|
load32bitOShack.o \
|
|
state_file.o \
|
|
pc_system.o
|
|
|
|
DEBUGGER_LIB = debug/libdebug.a
|
|
DISASM_LIB = disasm/libdisasm.a
|
|
INSTRUMENT_LIB = @INSTRUMENT_DIR@/libinstrument.a
|
|
FPU_LIB = fpu/libfpu.a
|
|
READLINE_LIB = @READLINE_LIB@
|
|
EXTRA_LINK_OPTS = @EXTRA_LINK_OPTS@
|
|
|
|
GDBSTUB_OBJS = gdbstub.o
|
|
|
|
BX_OBJS = @NONINLINE_VAR@
|
|
|
|
BX_INCLUDES = bochs.h config.h osdep.h
|
|
|
|
|
|
.@CPP_SUFFIX@.o:
|
|
$(CXX) @DASH@c $(BX_INCDIRS) $(CXXFLAGS) @CXXFP@$< @OFP@$@
|
|
.c.o:
|
|
$(CC) @DASH@c $(BX_INCDIRS) $(CFLAGS) $(FPU_FLAGS) $< @OFP@$@
|
|
|
|
|
|
all: @PRIMARY_TARGET@ @PLUGIN_TARGET@ bximage@EXE@
|
|
|
|
@EXTERNAL_DEPENDENCY@
|
|
|
|
bochs@EXE@: @IODEV_LIB_VAR@ @DEBUGGER_VAR@ \
|
|
cpu/libcpu.a memory/libmemory.a gui/libgui.a \
|
|
@DISASM_VAR@ @INSTRUMENT_VAR@ $(BX_OBJS) \
|
|
$(SIMX86_OBJS) $(FPU_LIB) @GDBSTUB_VAR@ @PLUGIN_VAR@
|
|
@LINK@ -export-dynamic $(BX_OBJS) $(SIMX86_OBJS) \
|
|
iodev/libiodev.a cpu/libcpu.a memory/libmemory.a gui/libgui.a \
|
|
@DEBUGGER_VAR@ @DISASM_VAR@ @INSTRUMENT_VAR@ @PLUGIN_VAR@ \
|
|
@GDBSTUB_VAR@ \
|
|
$(FPU_LIB) \
|
|
$(GUI_LINK_OPTS) \
|
|
$(MCH_LINK_FLAGS) \
|
|
$(SIMX86_LINK_FLAGS) \
|
|
$(READLINE_LIB) \
|
|
$(EXTRA_LINK_OPTS) \
|
|
$(LIBS)
|
|
|
|
# Special make target for cygwin/mingw using dlltool instead of
|
|
# libtool. This creates a .DEF file, and exports file, an import library,
|
|
# and then links bochs.exe with the exports file.
|
|
.win32_dll_plugin_target: @IODEV_LIB_VAR@ @DEBUGGER_VAR@ \
|
|
cpu/libcpu.a memory/libmemory.a gui/libgui.a \
|
|
@DISASM_VAR@ @INSTRUMENT_VAR@ $(BX_OBJS) \
|
|
$(SIMX86_OBJS) $(FPU_LIB) @GDBSTUB_VAR@ @PLUGIN_VAR@
|
|
$(DLLTOOL) --export-all-symbols --output-def bochs.def \
|
|
$(BX_OBJS) $(SIMX86_OBJS) \
|
|
@IODEV_LIB_VAR@ cpu/libcpu.a memory/libmemory.a gui/libgui.a \
|
|
@DEBUGGER_VAR@ @DISASM_VAR@ @INSTRUMENT_VAR@ @PLUGIN_VAR@ \
|
|
@GDBSTUB_VAR@ $(FPU_LIB)
|
|
$(DLLTOOL) --dllname bochs.exe --def bochs.def --output-lib dllexports.a
|
|
$(DLLTOOL) --dllname bochs.exe --output-exp bochs.exp --def bochs.def
|
|
$(CXX) -o bochs.exe $(CXXFLAGS) $(LDFLAGS) -export-dynamic \
|
|
$(BX_OBJS) bochs.exp $(SIMX86_OBJS) \
|
|
@IODEV_LIB_VAR@ cpu/libcpu.a memory/libmemory.a gui/libgui.a \
|
|
@DEBUGGER_VAR@ @DISASM_VAR@ @INSTRUMENT_VAR@ @PLUGIN_VAR@ \
|
|
@GDBSTUB_VAR@ \
|
|
$(FPU_LIB) \
|
|
$(GUI_LINK_OPTS) \
|
|
$(MCH_LINK_FLAGS) \
|
|
$(SIMX86_LINK_FLAGS) \
|
|
$(READLINE_LIB) \
|
|
$(EXTRA_LINK_OPTS) \
|
|
$(LIBS)
|
|
touch .win32_dll_plugin_target
|
|
|
|
bochs_plugins:
|
|
cd gui && $(MAKE) plugins
|
|
cd iodev && $(MAKE) plugins
|
|
|
|
bximage@EXE@: $(srcdir)/misc/bximage.o
|
|
@LINK_CONSOLE@ $(srcdir)/misc/bximage.o
|
|
|
|
# compile with console CXXFLAGS, not gui CXXFLAGS
|
|
misc/bximage.o: misc/bximage.c
|
|
$(CC) @DASH@c $(BX_INCDIRS) $(CFLAGS_CONSOLE) @CXXFP@misc/bximage.c @OFP@$@
|
|
|
|
niclist@EXE@: misc/niclist.o
|
|
@LINK@ misc/niclist.o
|
|
|
|
$(BX_OBJS): $(BX_INCLUDES)
|
|
|
|
bxversion.h:
|
|
$(RM) -f bxversion.h
|
|
echo '/////////////////////////////////////////////////////////////////////////' > bxversion.h
|
|
echo '// $$Id: Makefile.in,v 1.115 2002-11-21 19:25:57 bdenney Exp $$' >> bxversion.h
|
|
echo '/////////////////////////////////////////////////////////////////////////' >> bxversion.h
|
|
echo '// This file is generated by "make bxversion.h"' >> bxversion.h
|
|
echo "#define VER_STRING \"$(VER_STRING)\"" >> bxversion.h
|
|
echo "#define REL_STRING \"$(REL_STRING)\"" >> bxversion.h
|
|
|
|
iodev/libiodev.a::
|
|
cd iodev @COMMAND_SEPARATOR@
|
|
$(MAKE) $(MDEFINES) libiodev.a
|
|
@CD_UP_ONE@
|
|
|
|
debug/libdebug.a::
|
|
cd debug @COMMAND_SEPARATOR@
|
|
$(MAKE) $(MDEFINES) libdebug.a
|
|
@CD_UP_ONE@
|
|
|
|
cpu/libcpu.a::
|
|
cd cpu @COMMAND_SEPARATOR@
|
|
$(MAKE) $(MDEFINES) libcpu.a
|
|
@CD_UP_ONE@
|
|
|
|
memory/libmemory.a::
|
|
cd memory @COMMAND_SEPARATOR@
|
|
$(MAKE) $(MDEFINES) libmemory.a
|
|
@CD_UP_ONE@
|
|
|
|
gui/libgui.a::
|
|
cd gui @COMMAND_SEPARATOR@
|
|
$(MAKE) $(MDEFINES) libgui.a
|
|
@CD_UP_ONE@
|
|
|
|
disasm/libdisasm.a::
|
|
cd disasm @COMMAND_SEPARATOR@
|
|
$(MAKE) $(MDEFINES) libdisasm.a
|
|
@CD_UP_ONE@
|
|
|
|
@INSTRUMENT_DIR@/libinstrument.a::
|
|
cd @INSTRUMENT_DIR@ @COMMAND_SEPARATOR@
|
|
$(MAKE) $(MDEFINES) libinstrument.a
|
|
@CD_UP_TWO@
|
|
|
|
fpu/libfpu.a::
|
|
cd fpu @COMMAND_SEPARATOR@
|
|
$(MAKE) $(MDEFINES) libfpu.a
|
|
@CD_UP_ONE@
|
|
|
|
libbochs.a:
|
|
-rm -f libbochs.a
|
|
ar rv libbochs.a $(EXTERN_ENVIRONMENT_OBJS)
|
|
$(RANLIB) libbochs.a
|
|
|
|
libbochs_cpu.a: @DEBUGGER_VAR@ $(BX_OBJS)
|
|
-rm -f libbochs_cpu.a
|
|
ar rv libbochs_cpu.a $(BX_OBJS)
|
|
$(RANLIB) libbochs_cpu.a
|
|
|
|
# for wxWindows port, on win32 platform
|
|
wxbochs_resources.o: wxbochs.rc
|
|
windres $(srcdir)/wxbochs.rc -o $@ --include-dir=`@WX_CONFIG@ --prefix`/include
|
|
|
|
#####################################################################
|
|
# Install target for all platforms.
|
|
#####################################################################
|
|
|
|
install: all @INSTALL_TARGET@
|
|
|
|
#####################################################################
|
|
# Install target for win32
|
|
#
|
|
# This is intended to be run in cygwin, since it has better scripting
|
|
# tools.
|
|
#####################################################################
|
|
|
|
install_win32: download_dlx
|
|
-mkdir -p $(prefix)
|
|
cp obj-debug/*.exe .
|
|
for i in $(INSTALL_LIST_WIN32) niclist; do if test -f $$i; then cp $$i $(prefix); else cp $(srcdir)/$$i $(prefix); fi; done
|
|
cp $(srcdir)/misc/sb16/sb16ctrl.example $(prefix)/sb16ctrl.txt
|
|
cp $(srcdir)/misc/sb16/sb16ctrl.exe $(prefix)
|
|
cat $(srcdir)/build/win32/DOC-win32.htm | $(SED) -e 's/@VERSION@/$(VERSION)/g' > $(prefix)/DOC-win32.htm
|
|
cp $(srcdir)/.bochsrc $(prefix)/bochsrc-sample.txt
|
|
cp -r $(srcdir)/docs-html $(prefix)
|
|
-mkdir $(prefix)/keymaps
|
|
cp $(srcdir)/gui/keymaps/*.map $(prefix)/keymaps
|
|
cat $(DLXLINUX_TAR) | (cd $(prefix) && tar xzvf -)
|
|
echo '..\bochs' > $(prefix)/dlxlinux/start.bat
|
|
dlxrc=$(prefix)/dlxlinux/bochsrc.txt; mv $$dlxrc $$dlxrc.orig && sed < $$dlxrc.orig 's/\/usr\/local\/bochs\/latest/../' > $$dlxrc && rm -f $$dlxrc.orig
|
|
mv $(prefix)/README $(prefix)/README.orig
|
|
cat $(srcdir)/build/win32/README.win32-binary $(prefix)/README.orig > $(prefix)/README
|
|
rm -f $(prefix)/README.orig
|
|
for i in README CHANGES COPYING VGABIOS-elpin-LICENSE VGABIOS-lgpl-README dlxlinux/README; do mv $(prefix)/$$i $(prefix)/$$i.txt; done
|
|
cd $(prefix); $(UNIX2DOS) *.txt */*.txt
|
|
cd $(prefix); NAME=`pwd|$(SED) 's/.*\///'`; (cd ..; $(ZIP) $$NAME.zip -r $$NAME); ls -l ../$$NAME.zip
|
|
|
|
#####################################################################
|
|
# install target for unix
|
|
#####################################################################
|
|
|
|
install_unix: install_bin @INSTALL_PLUGINS_VAR@ install_man install_share install_doc
|
|
|
|
install_bin::
|
|
for i in $(DESTDIR)$(bindir); do mkdir -p $$i && test -d $$i && test -w $$i; done
|
|
if test -f install-x11-fonts; then $(CHMOD) a+x install-x11-fonts; fi
|
|
if test -f test-x11-fonts; then $(CHMOD) a+x test-x11-fonts; fi
|
|
for i in $(INSTALL_LIST_BIN); do if test -f $$i; then cp $$i $(DESTDIR)$(bindir); else cp $(srcdir)/$$i $(DESTDIR)$(bindir); fi; done
|
|
-for i in $(INSTALL_LIST_BIN_OPTIONAL); do if test -f $$i; then cp $$i $(DESTDIR)$(bindir); else cp $(srcdir)/$$i $(DESTDIR)$(bindir); fi; done
|
|
|
|
install_libtool_plugins::
|
|
for i in $(DESTDIR)$(plugdir); do mkdir -p $$i && test -d $$i && test -w $$i; done
|
|
list=`cd gui && echo *.la`; for i in $$list; do $(LIBTOOL) cp gui/$$i $(DESTDIR)$(plugdir); done
|
|
list=`cd iodev && echo *.la`; for i in $$list; do $(LIBTOOL) cp iodev/$$i $(DESTDIR)$(plugdir); done
|
|
$(LIBTOOL) --finish $(DESTDIR)$(plugdir)
|
|
|
|
install_dll_plugins::
|
|
for i in $(DESTDIR)$(plugdir); do mkdir -p $$i && test -d $$i && test -w $$i; done
|
|
list=`cd gui && echo *.dll`; for i in $$list; do cp gui/$$i $(DESTDIR)$(plugdir); done
|
|
list=`cd iodev && echo *.dll`; for i in $$list; do cp iodev/$$i $(DESTDIR)$(plugdir); done
|
|
|
|
install_share::
|
|
for i in $(DESTDIR)$(sharedir); do mkdir -p $$i && test -d $$i && test -w $$i; done
|
|
for i in $(INSTALL_LIST_SHARE); do if test -f $$i; then cp $$i $(DESTDIR)$(sharedir); else cp $(srcdir)/$$i $(DESTDIR)$(sharedir); fi; done
|
|
$(CP) -r $(srcdir)/gui/keymaps $(DESTDIR)$(sharedir)
|
|
$(CP) $(srcdir)/font/vga.pcf $(DESTDIR)$(sharedir)/vga.pcf
|
|
|
|
install_doc::
|
|
for i in $(DESTDIR)$(docdir); do mkdir -p $$i && test -d $$i && test -w $$i; done
|
|
-for i in $(INSTALL_LIST_SED); do install -m644 $(srcdir)/build/linux/$$i $(DESTDIR)$(docdir)/$$i; done
|
|
for i in $(INSTALL_LIST_DOC); do if test -f $$i; then cp $$i $(DESTDIR)$(docdir); else cp $(srcdir)/$$i $(DESTDIR)$(docdir); fi; done
|
|
$(CP) -r $(srcdir)/docs-html $(DESTDIR)$(docdir)
|
|
$(RM) -f $(DESTDIR)$(docdir)/README
|
|
$(CAT) $(srcdir)/build/linux/README.linux-binary $(srcdir)/README > $(DESTDIR)$(docdir)/README
|
|
$(CP) $(srcdir)/.bochsrc $(DESTDIR)$(docdir)/bochsrc-sample.txt
|
|
|
|
install_man::
|
|
-mkdir -p $(DESTDIR)$(man1dir)
|
|
-mkdir -p $(DESTDIR)$(man5dir)
|
|
for i in $(MAN_PAGE_1_LIST); do cat $(srcdir)/doc/man/$$i.1 | $(SED) 's/@version@/$(VERSION)/g' | $(GZIP) -c > $(DESTDIR)$(man1dir)/$$i.1.gz; chmod 644 $(DESTDIR)$(man1dir)/$$i.1.gz; done
|
|
for i in $(MAN_PAGE_5_LIST); do cat $(srcdir)/doc/man/$$i.5 | $(GZIP) -c > $(DESTDIR)$(man5dir)/$$i.5.gz; chmod 644 $(DESTDIR)$(man5dir)/$$i.5.gz; done
|
|
|
|
download_dlx: $(DLXLINUX_TAR)
|
|
|
|
$(DLXLINUX_TAR):
|
|
$(RM) -f $(DLXLINUX_TAR)
|
|
$(WGET) $(DLXLINUX_TAR_URL)
|
|
test -f $(DLXLINUX_TAR)
|
|
|
|
unpack_dlx: $(DLXLINUX_TAR)
|
|
rm -rf dlxlinux
|
|
$(GUNZIP) -c $(DLXLINUX_TAR) | $(TAR) -xvf -
|
|
test -d dlxlinux
|
|
(cd dlxlinux; $(MV) bochsrc.txt bochsrc.txt.orig; $(SED) -e "s/1\.1\.2/$(VERSION)/g" -e 's,/usr/local/bochs/latest,$(prefix)/share/bochs,g' < bochsrc.txt.orig > bochsrc.txt; rm -f bochsrc.txt.orig)
|
|
|
|
install_dlx:
|
|
$(RM) -rf $(DESTDIR)$(sharedir)/dlxlinux
|
|
cp -r dlxlinux $(DESTDIR)$(sharedir)/dlxlinux
|
|
$(CHMOD) 755 $(DESTDIR)$(sharedir)/dlxlinux
|
|
$(GZIP) $(DESTDIR)$(sharedir)/dlxlinux/hd10meg.img
|
|
$(CHMOD) 644 $(DESTDIR)$(sharedir)/dlxlinux/*
|
|
for i in bochs-dlx; do cp $(srcdir)/build/linux/$$i $(bindir)/$$i; $(CHMOD) 755 $(DESTDIR)$(bindir)/$$i; done
|
|
|
|
uninstall::
|
|
$(RM) -rf $(DESTDIR)$(sharedir)
|
|
$(RM) -rf $(DESTDIR)$(docdir)
|
|
for i in bochs bximage bochs-dlx bochs-docs; do rm -f $(DESTDIR)$(bindir)/$$i; done
|
|
for i in $(MAN_PAGE_1_LIST); do $(RM) -f $(man1dir)/$$i.1.gz; done
|
|
for i in $(MAN_PAGE_5_LIST); do $(RM) -f $(man5dir)/$$i.5.gz; done
|
|
|
|
V6WORKSPACE_ZIP=build/win32/workspace.zip
|
|
V6WORKSPACE_FILES=bochs.dsw bochs.dsp bochs.opt cpu/cpu.dsp \
|
|
memory/memory.dsp iodev/iodev.dsp instrument/stubs/stubs.dsp \
|
|
gui/gui.dsp fpu/fpu.dsp disasm/disasm.dsp debug/debug.dsp \
|
|
misc/niclist.dsp bximage.dsp
|
|
|
|
v6workspace:
|
|
zip $(V6WORKSPACE_ZIP) $(V6WORKSPACE_FILES)
|
|
|
|
########
|
|
# the win32_snap target is used to create a ZIP of bochs sources configured
|
|
# for VC++. This ZIP is stuck on the website every once in a while to make
|
|
# it easier for VC++ users to compile bochs. First, you should
|
|
# run "sh .conf.win32-vcpp" to configure the source code, then do
|
|
# "make win32_snap" to unzip the workspace files and create the ZIP.
|
|
########
|
|
win32_snap:
|
|
unzip $(V6WORKSPACE_ZIP)
|
|
make zip
|
|
|
|
tar:
|
|
NAME=`pwd|$(SED) 's/.*\///'`; (cd ..; tar cf - $$NAME | $(GZIP) > $$NAME.tar.gz); ls -l ../$$NAME.tar.gz
|
|
|
|
zip:
|
|
NAME=`pwd|$(SED) 's/.*\///'`; (cd ..; $(ZIP) $$NAME.zip -r $$NAME); ls -l ../$$NAME.zip
|
|
|
|
clean:
|
|
@RMCOMMAND@ *.o
|
|
@RMCOMMAND@ */*.o
|
|
@RMCOMMAND@ *.a
|
|
@RMCOMMAND@ */*.a
|
|
@RMCOMMAND@ bochs
|
|
@RMCOMMAND@ bochs.exe
|
|
@RMCOMMAND@ bximage
|
|
@RMCOMMAND@ bximage.exe
|
|
@RMCOMMAND@ niclist
|
|
@RMCOMMAND@ niclist.exe
|
|
@RMCOMMAND@ bochs.out
|
|
@RMCOMMAND@ bochsout.txt
|
|
@RMCOMMAND@ bochs.exp
|
|
@RMCOMMAND@ bochs.def
|
|
@RMCOMMAND@ bochs.scpt
|
|
@RMCOMMAND@ -rf bochs.app
|
|
@RMCOMMAND@ -rf .libs
|
|
@RMCOMMAND@ .win32_dll_plugin_target
|
|
|
|
local-dist-clean: clean
|
|
@RMCOMMAND@ config.h config.status config.log config.cache
|
|
@RMCOMMAND@ .dummy `find . -name '*.dsp' -o -name '*.dsw' -o -name '*.opt'`
|
|
@RMCOMMAND@ bxversion.h install-x11-fonts build/linux/bochs-dlx build/linux/bochs-docs build/linux/DOC-linux.html _rpm_top *.rpm
|
|
@RMCOMMAND@ libtool
|
|
@RMCOMMAND@ ltdlconf.h
|
|
|
|
all-clean: clean
|
|
cd iodev @COMMAND_SEPARATOR@
|
|
$(MAKE) clean
|
|
@CD_UP_ONE@
|
|
cd debug @COMMAND_SEPARATOR@
|
|
$(MAKE) clean
|
|
@CD_UP_ONE@
|
|
cd cpu @COMMAND_SEPARATOR@
|
|
$(MAKE) clean
|
|
@CD_UP_ONE@
|
|
cd memory @COMMAND_SEPARATOR@
|
|
$(MAKE) clean
|
|
@CD_UP_ONE@
|
|
cd gui @COMMAND_SEPARATOR@
|
|
$(MAKE) clean
|
|
@CD_UP_ONE@
|
|
cd disasm @COMMAND_SEPARATOR@
|
|
$(MAKE) clean
|
|
@CD_UP_ONE@
|
|
cd @INSTRUMENT_DIR@ @COMMAND_SEPARATOR@
|
|
$(MAKE) clean
|
|
@CD_UP_TWO@
|
|
cd misc @COMMAND_SEPARATOR@
|
|
$(MAKE) clean
|
|
@CD_UP_ONE@
|
|
cd fpu @COMMAND_SEPARATOR@
|
|
$(MAKE) clean
|
|
@CD_UP_ONE@
|
|
|
|
dist-clean: local-dist-clean
|
|
cd iodev @COMMAND_SEPARATOR@
|
|
$(MAKE) dist-clean
|
|
@CD_UP_ONE@
|
|
cd debug @COMMAND_SEPARATOR@
|
|
$(MAKE) dist-clean
|
|
@CD_UP_ONE@
|
|
cd bios @COMMAND_SEPARATOR@
|
|
$(MAKE) dist-clean
|
|
@CD_UP_ONE@
|
|
cd cpu @COMMAND_SEPARATOR@
|
|
$(MAKE) dist-clean
|
|
@CD_UP_ONE@
|
|
cd memory @COMMAND_SEPARATOR@
|
|
$(MAKE) dist-clean
|
|
@CD_UP_ONE@
|
|
cd gui @COMMAND_SEPARATOR@
|
|
$(MAKE) dist-clean
|
|
@CD_UP_ONE@
|
|
cd disasm @COMMAND_SEPARATOR@
|
|
$(MAKE) dist-clean
|
|
@CD_UP_ONE@
|
|
cd @INSTRUMENT_DIR@ @COMMAND_SEPARATOR@
|
|
$(MAKE) dist-clean
|
|
@CD_UP_TWO@
|
|
cd misc @COMMAND_SEPARATOR@
|
|
$(MAKE) dist-clean
|
|
@CD_UP_ONE@
|
|
cd fpu @COMMAND_SEPARATOR@
|
|
$(MAKE) dist-clean
|
|
@CD_UP_ONE@
|
|
@RMCOMMAND@ Makefile
|
|
|
|
###########################################
|
|
# Build app on MacOS X
|
|
###########################################
|
|
APP=bochs.app
|
|
APP_PLATFORM=MacOS
|
|
SCRIPT_EXEC=bochs.scpt
|
|
SCRIPT_DATA=$(MACOSX_STUFF_SRCDIR)/script.data
|
|
SCRIPT_R=$(MACOSX_STUFF_SRCDIR)/script.r
|
|
SCRIPT_APPLESCRIPT=$(MACOSX_STUFF_SRCDIR)/bochs.applescript
|
|
SCRIPT_COMPILED_RSRC=$(MACOSX_STUFF)/script_compiled.rsrc
|
|
MACOSX_STUFF=build/macosx
|
|
MACOSX_STUFF_SRCDIR=$(srcdir)/$(MACOSX_STUFF)
|
|
REZ=/Developer/Tools/Rez
|
|
RINCLUDES=/System/Library/Frameworks/Carbon.framework/Libraries/RIncludes
|
|
REZ_ARGS=-append -i $RINCLUDES -d SystemSevenOrLater=1 -useDF
|
|
STANDALONE_LIBDIR=`pwd`/$(APP)/Contents/$(APP_PLATFORM)/lib
|
|
OSACOMPILE=/usr/bin/osacompile
|
|
SETFILE=/Developer/Tools/Setfile
|
|
|
|
# On a MacOS X machine, you run rez, osacompile, and setfile to
|
|
# produce the script executable, which has both a data fork and a
|
|
# resource fork. Ideally, we would just recompile the whole
|
|
# executable at build time, but unfortunately this cannot be done on
|
|
# the SF compile farm through an ssh connection because osacompile
|
|
# needs to be run locally for some reason. Solution: If the script
|
|
# sources are changed, rebuild the executable on a MacOSX machine,
|
|
# split it into its data and resource forks and check them into CVS
|
|
# as separate files. Then at release time, all that's left to do is
|
|
# put the data and resource forks back together to make a working script.
|
|
# (This can be done through ssh.)
|
|
#
|
|
# Sources:
|
|
# 1. script.r: resources for the script
|
|
# 2. script.data: binary data for the script
|
|
# 3. bochs.applescript: the source of the script
|
|
#
|
|
# NOTE: All of this will fail if you aren't building on an HFS+
|
|
# filesystem! On the SF compile farm building in your user directory
|
|
# will fail, while doing the build in /tmp will work ok.
|
|
|
|
# check if this filesystem supports resource forks at all
|
|
test_hfsplus:
|
|
$(RM) -rf test_hfsplus
|
|
echo data > test_hfsplus
|
|
# if you get "Not a directory", then this filesystem doesn't support resources
|
|
echo resource > test_hfsplus/rsrc
|
|
# test succeeded
|
|
$(RM) -rf test_hfsplus
|
|
|
|
# Step 1 (must be done locally on MacOSX, only when sources change)
|
|
# Compile and pull out just the resource fork. The resource fork is
|
|
# checked into CVS as script_compiled.rsrc. Note that we don't need
|
|
# to check in the data fork of tmpscript because it is identical to the
|
|
# script.data input file.
|
|
$(SCRIPT_COMPILED_RSRC): $(SCRIPT_R) $(SCRIPT_APPLESCRIPT)
|
|
$(RM) -f tmpscript
|
|
$(CP) -f $(SCRIPT_DATA) tmpscript
|
|
$(REZ) -append $(SCRIPT_R) -o tmpscript
|
|
$(OSACOMPILE) -o tmpscript $(SCRIPT_APPLESCRIPT)
|
|
$(CP) tmpscript/rsrc rsrc
|
|
$(RM) -f tmpscript
|
|
|
|
# Step 2 (can be done locally or remotely on MacOSX)
|
|
# Combine the data fork and resource fork, and set attributes.
|
|
$(SCRIPT_EXEC): $(SCRIPT_DATA) $(SCRIPT_COMPILED_RSRC)
|
|
rm -f $(SCRIPT_EXEC)
|
|
$(CP) $(SCRIPT_DATA) $(SCRIPT_EXEC)
|
|
if test ! -f $(SCRIPT_COMPILED_RSRC); then $(CP) $(srcdir)/$(SCRIPT_COMPILED_RSRC) $(SCRIPT_COMPILED_RSRC); fi
|
|
$(CP) $(SCRIPT_COMPILED_RSRC) $(SCRIPT_EXEC)/rsrc
|
|
$(SETFILE) -t "APPL" -c "aplt" $(SCRIPT_EXEC)
|
|
|
|
$(APP)/.build: bochs test_hfsplus $(SCRIPT_EXEC)
|
|
rm -f $(APP)/.build
|
|
$(MKDIR) -p $(APP)
|
|
$(MKDIR) -p $(APP)/Contents
|
|
$(CP) -f $(MACOSX_STUFF)/Info.plist $(APP)/Contents
|
|
$(CP) -f $(MACOSX_STUFF_SRCDIR)/pbdevelopment.plist $(APP)/Contents
|
|
echo -n "APPL????" > $(APP)/Contents/PkgInfo
|
|
$(MKDIR) -p $(APP)/Contents/$(APP_PLATFORM)
|
|
$(CP) bochs $(APP)/Contents/$(APP_PLATFORM)
|
|
$(MKDIR) -p $(APP)/Contents/Resources
|
|
$(REZ) $(REZ_ARGS) $(MACOSX_STUFF_SRCDIR)/bochs.r -o $(APP)/Contents/Resources/bochs.rsrc
|
|
$(CP) -f $(MACOSX_STUFF_SRCDIR)/bochs-icn.icns $(APP)/Contents/Resources
|
|
ls -ld $(APP) $(SCRIPT_EXEC) $(SCRIPT_EXEC)/rsrc
|
|
touch $(APP)/.build
|
|
|
|
$(APP)/.build_plugins: $(APP)/.build bochs_plugins
|
|
rm -f $(APP)/.build_plugins
|
|
$(MKDIR) -p $(STANDALONE_LIBDIR);
|
|
list=`cd gui && echo *.la`; for i in $$list; do $(LIBTOOL) cp gui/$$i $(STANDALONE_LIBDIR); done;
|
|
list=`cd iodev && echo *.la`; for i in $$list; do $(LIBTOOL) cp iodev/$$i $(STANDALONE_LIBDIR); done;
|
|
$(LIBTOOL) --finish $(STANDALONE_LIBDIR);
|
|
touch $(APP)/.build_plugins
|
|
|
|
###########################################
|
|
# dependencies generated by
|
|
# gcc -MM -I. -Iinstrument/stubs *.cc | sed -e 's/\.cc/.@CPP_SUFFIX@/g' -e 's,cpu/,cpu/,g'
|
|
###########################################
|
|
gdbstub.o: gdbstub.@CPP_SUFFIX@ bochs.h config.h osdep.h debug/debug.h \
|
|
bxversion.h gui/siminterface.h state_file.h cpu/cpu.h \
|
|
cpu/lazy_flags.h cpu/i387.h memory/memory.h pc_system.h gui/gui.h \
|
|
gui/textconfig.h gui/keymap.h iodev/iodev.h iodev/pci.h iodev/pci2isa.h \
|
|
iodev/vga.h iodev/biosdev.h iodev/cmos.h iodev/dma.h iodev/floppy.h \
|
|
iodev/harddrv.h iodev/cdrom.h iodev/keyboard.h iodev/parallel.h \
|
|
iodev/pic.h iodev/pit.h iodev/pit_wrap.h iodev/pit82c54.h \
|
|
iodev/serial.h iodev/unmapped.h iodev/eth.h iodev/ne2k.h \
|
|
iodev/guest2host.h iodev/slowdown_timer.h plugin.h \
|
|
instrument/stubs/instrument.h
|
|
load32bitOShack.o: load32bitOShack.@CPP_SUFFIX@ bochs.h config.h osdep.h \
|
|
debug/debug.h bxversion.h gui/siminterface.h state_file.h cpu/cpu.h \
|
|
cpu/lazy_flags.h cpu/i387.h memory/memory.h pc_system.h gui/gui.h \
|
|
gui/textconfig.h gui/keymap.h iodev/iodev.h iodev/pci.h iodev/pci2isa.h \
|
|
iodev/vga.h iodev/biosdev.h iodev/cmos.h iodev/dma.h iodev/floppy.h \
|
|
iodev/harddrv.h iodev/cdrom.h iodev/keyboard.h iodev/parallel.h \
|
|
iodev/pic.h iodev/pit.h iodev/pit_wrap.h iodev/pit82c54.h \
|
|
iodev/serial.h iodev/unmapped.h iodev/eth.h iodev/ne2k.h \
|
|
iodev/guest2host.h iodev/slowdown_timer.h plugin.h \
|
|
instrument/stubs/instrument.h
|
|
logio.o: logio.@CPP_SUFFIX@ bochs.h config.h osdep.h debug/debug.h bxversion.h \
|
|
gui/siminterface.h state_file.h cpu/cpu.h cpu/lazy_flags.h cpu/i387.h \
|
|
memory/memory.h pc_system.h gui/gui.h gui/textconfig.h gui/keymap.h \
|
|
iodev/iodev.h iodev/pci.h iodev/pci2isa.h iodev/vga.h iodev/biosdev.h \
|
|
iodev/cmos.h iodev/dma.h iodev/floppy.h iodev/harddrv.h iodev/cdrom.h \
|
|
iodev/keyboard.h iodev/parallel.h iodev/pic.h iodev/pit.h \
|
|
iodev/pit_wrap.h iodev/pit82c54.h iodev/serial.h iodev/unmapped.h \
|
|
iodev/eth.h iodev/ne2k.h iodev/guest2host.h iodev/slowdown_timer.h \
|
|
plugin.h instrument/stubs/instrument.h
|
|
main.o: main.@CPP_SUFFIX@ bochs.h config.h osdep.h debug/debug.h bxversion.h \
|
|
gui/siminterface.h state_file.h cpu/cpu.h cpu/lazy_flags.h cpu/i387.h \
|
|
memory/memory.h pc_system.h gui/gui.h gui/textconfig.h gui/keymap.h \
|
|
iodev/iodev.h iodev/pci.h iodev/pci2isa.h iodev/vga.h iodev/biosdev.h \
|
|
iodev/cmos.h iodev/dma.h iodev/floppy.h iodev/harddrv.h iodev/cdrom.h \
|
|
iodev/keyboard.h iodev/parallel.h iodev/pic.h iodev/pit.h \
|
|
iodev/pit_wrap.h iodev/pit82c54.h iodev/serial.h iodev/unmapped.h \
|
|
iodev/eth.h iodev/ne2k.h iodev/guest2host.h iodev/slowdown_timer.h \
|
|
plugin.h instrument/stubs/instrument.h
|
|
osdep.o: osdep.@CPP_SUFFIX@ bochs.h config.h osdep.h debug/debug.h bxversion.h \
|
|
gui/siminterface.h state_file.h cpu/cpu.h cpu/lazy_flags.h cpu/i387.h \
|
|
memory/memory.h pc_system.h gui/gui.h gui/textconfig.h gui/keymap.h \
|
|
iodev/iodev.h iodev/pci.h iodev/pci2isa.h iodev/vga.h iodev/biosdev.h \
|
|
iodev/cmos.h iodev/dma.h iodev/floppy.h iodev/harddrv.h iodev/cdrom.h \
|
|
iodev/keyboard.h iodev/parallel.h iodev/pic.h iodev/pit.h \
|
|
iodev/pit_wrap.h iodev/pit82c54.h iodev/serial.h iodev/unmapped.h \
|
|
iodev/eth.h iodev/ne2k.h iodev/guest2host.h iodev/slowdown_timer.h \
|
|
plugin.h instrument/stubs/instrument.h
|
|
pc_system.o: pc_system.@CPP_SUFFIX@ bochs.h config.h osdep.h debug/debug.h \
|
|
bxversion.h gui/siminterface.h state_file.h cpu/cpu.h \
|
|
cpu/lazy_flags.h cpu/i387.h memory/memory.h pc_system.h gui/gui.h \
|
|
gui/textconfig.h gui/keymap.h iodev/iodev.h iodev/pci.h iodev/pci2isa.h \
|
|
iodev/vga.h iodev/biosdev.h iodev/cmos.h iodev/dma.h iodev/floppy.h \
|
|
iodev/harddrv.h iodev/cdrom.h iodev/keyboard.h iodev/parallel.h \
|
|
iodev/pic.h iodev/pit.h iodev/pit_wrap.h iodev/pit82c54.h \
|
|
iodev/serial.h iodev/unmapped.h iodev/eth.h iodev/ne2k.h \
|
|
iodev/guest2host.h iodev/slowdown_timer.h plugin.h \
|
|
instrument/stubs/instrument.h
|
|
plugin.o: plugin.@CPP_SUFFIX@ bochs.h config.h osdep.h debug/debug.h bxversion.h \
|
|
gui/siminterface.h state_file.h cpu/cpu.h cpu/lazy_flags.h cpu/i387.h \
|
|
memory/memory.h pc_system.h gui/gui.h gui/textconfig.h gui/keymap.h \
|
|
iodev/iodev.h iodev/pci.h iodev/pci2isa.h iodev/vga.h iodev/biosdev.h \
|
|
iodev/cmos.h iodev/dma.h iodev/floppy.h iodev/harddrv.h iodev/cdrom.h \
|
|
iodev/keyboard.h iodev/parallel.h iodev/pic.h iodev/pit.h \
|
|
iodev/pit_wrap.h iodev/pit82c54.h iodev/serial.h iodev/unmapped.h \
|
|
iodev/eth.h iodev/ne2k.h iodev/guest2host.h iodev/slowdown_timer.h \
|
|
plugin.h instrument/stubs/instrument.h
|
|
state_file.o: state_file.@CPP_SUFFIX@ bochs.h config.h osdep.h debug/debug.h \
|
|
bxversion.h gui/siminterface.h state_file.h cpu/cpu.h \
|
|
cpu/lazy_flags.h cpu/i387.h memory/memory.h pc_system.h gui/gui.h \
|
|
gui/textconfig.h gui/keymap.h iodev/iodev.h iodev/pci.h iodev/pci2isa.h \
|
|
iodev/vga.h iodev/biosdev.h iodev/cmos.h iodev/dma.h iodev/floppy.h \
|
|
iodev/harddrv.h iodev/cdrom.h iodev/keyboard.h iodev/parallel.h \
|
|
iodev/pic.h iodev/pit.h iodev/pit_wrap.h iodev/pit82c54.h \
|
|
iodev/serial.h iodev/unmapped.h iodev/eth.h iodev/ne2k.h \
|
|
iodev/guest2host.h iodev/slowdown_timer.h plugin.h \
|
|
instrument/stubs/instrument.h
|