Bochs/bochs/Makefile.in

437 lines
12 KiB
Makefile

# Copyright (C) 2001 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@
bindir = @bindir@
mandir = @mandir@
man1dir = $(mandir)/man1
DESTDIR =
VERSION=1.2.cvs
VER_STRING=cvs-snapshot
REL_STRING=
BOCHSDIR=$(prefix)/bochs
VERSIONDIR=$(BOCHSDIR)/$(VERSION)
MAN_PAGE_LIST=bochs bochsrc bximage bochs-dlx
INSTALL_LIST=bios/BIOS-* CHANGES COPYING README bios/VGABIOS* bochs bximage install-x11-fonts test-x11-fonts
INSTALL_LIST_SED=DOC-linux.html
BOCHS_SCRIPTS=bochs-docs
CP=cp
CAT=cat
RM=rm
MV=mv
LN_S=ln -sf
RPMSPEC=build/redhat/bochs.rpmspec.template
DLXLINUX_TAR=dlxlinux2.tar.gz
DLXLINUX_TAR_URL=http://bochs.sourceforge.net/guestos/$(DLXLINUX_TAR)
DLXLINUX_ROMFILE=BIOS-bochs-latest
GUNZIP=gunzip
WGET=wget
SED=sed
SOURCES=/usr/src/redhat/SOURCES
SPECS=/usr/src/redhat/SPECS
RPMS=/usr/src/redhat/RPMS
SRPMS=/usr/src/redhat/SRPMS
MKDIR=mkdir
RMDIR=rmdir
TAR=tar
RPM=rpm
CHMOD=chmod
CHOWN=chown
GZIP=gzip
GUNZIP=gunzip
ZIP=zip
@SUFFIX_LINE@
srcdir = @srcdir@
VPATH = @srcdir@
SHELL = /bin/sh
@SET_MAKE@
CC = @CC@
CXX = @CXX@
CFLAGS = @CFLAGS@ $(MCH_CFLAGS) $(FLA_FLAGS)
CXXFLAGS = @CXXFLAGS@ $(MCH_CFLAGS) $(FLA_FLAGS)
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_BEOS = -lbe
GUI_LINK_OPTS_RFB = @RFB_LIBS@
GUI_LINK_OPTS_AMIGAOS =
GUI_LINK_OPTS_WIN32 = -luser32 -lgdi32 -lwinmm -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 = @GUI_LINK_OPTS@
RANLIB = @RANLIB@
BX_INCDIRS = -I. -I$(srcdir)/. -I@INSTRUMENT_DIR@ -I$(srcdir)/@INSTRUMENT_DIR@
MDEFINES = CC="$(CC)" CXX="$(CXX)" CFLAGS="$(CFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
LDFLAGS="$(LDFLAGS)" LIBS="$(LIBS)" \
X_LIBS="$(X_LIBS)" X_PRE_LIBS="$(X_PRE_LIBS)" \
prefix="$(prefix)" exec_prefix="$(exec_prefix)" \
bindir="$(bindir)" infodir="$(infodir)"
#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
EXTERN_ENVIRONMENT_OBJS = \
main.o \
load32bitOShack.o \
state_file.o \
pc_system.o
DEBUGGER_LIB = debug/libdebug.a
DISASM_LIB = disasm/libdisasm.a
DYNAMIC_LIB = dynamic/libdynamic.a
INSTRUMENT_LIB = @INSTRUMENT_DIR@/libinstrument.a
FPU_LIB = fpu/libfpu.a
READLINE_LIB = @READLINE_LIB@
BX_OBJS = @NONINLINE_VAR@
BX_INCLUDES = bochs.h config.h osdep.h
.@CPP_SUFFIX@.o:
$(CXX) @DASH@c $(CXXFLAGS) $(BX_INCDIRS) @CXXFP@$< @OFP@$@
.c.o:
$(CC) @DASH@c $(CFLAGS) $(FPU_FLAGS) $(BX_INCDIRS) $< @OFP@$@
all: @PRIMARY_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@ @DYNAMIC_VAR@ $(BX_OBJS) \
$(SIMX86_OBJS) \
$(FPU_LIB)
@LINK@ $(BX_OBJS) \
$(SIMX86_OBJS) \
iodev/libiodev.a \
cpu/libcpu.a memory/libmemory.a gui/libgui.a \
@DEBUGGER_VAR@ @DISASM_VAR@ @INSTRUMENT_VAR@ @DYNAMIC_VAR@ \
$(FPU_LIB) \
$(GUI_LINK_OPTS) \
$(MCH_LINK_FLAGS) \
$(SIMX86_LINK_FLAGS) \
$(READLINE_LIB)
bximage@EXE@: misc/bximage.o
@LINK@ misc/bximage.o
$(BX_OBJS): $(BX_INCLUDES)
bxversion.h::
$(RM) -f 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@
dynamic/libdynamic.a::
cd dynamic @COMMAND_SEPARATOR@
$(MAKE) $(MDEFINES) libdynamic.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
install: all install_bin install_man install_fonts
install_fonts::
srcdir=$(srcdir) $(VERSIONDIR)/install-x11-fonts
install_bin::
-mkdir -p $(DESTDIR)$(BOCHSDIR)
-mkdir -p $(DESTDIR)$(VERSIONDIR)
-mkdir -p $(DESTDIR)$(bindir)
test -d $(DESTDIR)$(VERSIONDIR)
test -w $(DESTDIR)$(VERSIONDIR)
for i in bochs-docs; do cat $(srcdir)/build/linux/$$i | $(SED) -e 's/@VERSION@/$(VERSION)/g' > $(DESTDIR)$(bindir)/$$i; $(CHMOD) 755 $(DESTDIR)$(bindir)/$$i; done
for i in $(INSTALL_LIST_SED); do cat $(srcdir)/build/linux/$$i | $(SED) -e 's/@VERSION@/$(VERSION)/g' > $(DESTDIR)$(VERSIONDIR)/$$i; $(CHMOD) 644 $(DESTDIR)$(VERSIONDIR)/$$i; done
for i in $(INSTALL_LIST); do /bin/cp $(srcdir)/$$i $(DESTDIR)$(VERSIONDIR); done
$(LN_S) $(VERSIONDIR)/bochs $(DESTDIR)$(bindir)/bochs
$(LN_S) $(VERSIONDIR)/bximage $(DESTDIR)$(bindir)/bximage
$(CP) -r $(srcdir)/docs-html $(DESTDIR)$(VERSIONDIR)
$(RM) -f $(DESTDIR)$(VERSIONDIR)/README
$(CAT) $(srcdir)/build/linux/README.linux-binary $(srcdir)/README > $(DESTDIR)$(VERSIONDIR)/README
$(CP) $(srcdir)/font/vga.pcf $(DESTDIR)$(VERSIONDIR)
$(CP) $(srcdir)/.bochsrc $(DESTDIR)$(VERSIONDIR)/bochsrc-sample.txt
$(RM) -f $(DESTDIR)$(BOCHSDIR)/latest
$(LN_S) $(VERSION) $(DESTDIR)$(BOCHSDIR)/latest
install_man::
-mkdir -p $(DESTDIR)$(man1dir)
for i in $(MAN_PAGE_LIST); do cat $(srcdir)/doc/man/$$i.1 | $(SED) -e 's/@VERSION@/$(VERSION)/g' > $(DESTDIR)$(man1dir)/$$i.1; chmod 644 $(DESTDIR)$(man1dir)/$$i.1; done
install_dlx::
$(RM) -f $(DLXLINUX_TAR)
$(WGET) $(DLXLINUX_TAR_URL)
$(RM) -rf $(BOCHSDIR)/dlxlinux
$(GUNZIP) -c $(DLXLINUX_TAR) | (cd $(BOCHSDIR); tar -xvf -)
$(RM) -f $(DLXLINUX_TAR)
test -d $(BOCHSDIR)/dlxlinux
(cd $(BOCHSDIR)/dlxlinux; $(MV) bochsrc.txt bochsrc.txt.orig; $(SED) -e "s/1\.1\.2/$(VERSION)/g"< bochsrc.txt.orig > bochsrc.txt; rm -f bochsrc.txt.orig)
$(CHOWN) -R root.root $(BOCHSDIR)/dlxlinux
$(CHMOD) 777 $(BOCHSDIR)/dlxlinux
$(CHMOD) 666 $(BOCHSDIR)/dlxlinux/*
$(CHMOD) 644 $(BOCHSDIR)/dlxlinux/README
for i in bochs-dlx; do cat build/linux/$$i | $(SED) -e 's/@VERSION@/$(VERSION)/g' > $(bindir)/$$i; $(CHMOD) 755 $(bindir)/$$i; done
uninstall::
$(RM) -rf $(VERSIONDIR)
$(RM) -rf $(BOCHSDIR)/dlxlinux
$(RM) -rf $(BOCHSDIR)/latest
-$(RMDIR) $(BOCHSDIR)
for i in bochs bximage bochs-dlx $(BOCHS_SCRIPTS); do rm -f /usr/local/bin/$$i; done
for i in $(MAN_PAGE_LIST); do $(RM) -f $(man1dir)/$$i.1; done
rpm:: dist-clean
test -w $(SOURCES)
test -w $(SPECS)
rm -f /usr/src/redhat/SPECS/bochs.spec
$(CAT) $(RPMSPEC) | $(SED) "s/@VERSION@/$(VERSION)/g" > $(SPECS)/bochs.spec
$(RM) -rf $(SOURCES)/bochs
$(MKDIR) $(SOURCES)/bochs
$(TAR) cf - * .??* | (cd $(SOURCES)/bochs && tar xf -)
(cd $(SOURCES); tar czf bochs.tar.gz bochs)
$(RPM) -ba $(SPECS)/bochs.spec
V6WORKSPACE_ZIP=build/win32/workspace.zip
V6WORKSPACE_FILES=bochs.dsw bochs.dsp bochs.opt \
cpu/cpu.dsp cpu/cpu.dsw \
memory/memory.dsp memory/memory.dsw \
iodev/iodev.dsp iodev/iodev.dsw \
instrument/stubs/stubs.dsp instrument/stubs/stubs.dsw \
gui/gui.dsp gui/gui.dsw \
fpu/fpu.dsp fpu/fpu.dsw\
disasm/disasm.dsp disasm/disasm.dsw \
debug/debug.dsp debug/debug.dsw
v6workspace:
zip $(V6WORKSPACE_ZIP) $(V6WORKSPACE_FILES)
win32_snap:
sh .conf.win32-vcpp
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@EXE@
@RMCOMMAND@ bximage@EXE@
@RMCOMMAND@ bochs.out
@RMCOMMAND@ bochsout.txt
local-dist-clean: clean
@RMCOMMAND@ config.h config.status config.log config.cache
@RMCOMMAND@ .dummy `find . -name '*.dsp' -o -name '*.dsw' -o -name '*.opt'`
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 dynamic @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 dynamic @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
MACOSX_STUFF=build/macosx
REZ=/Developer/Tools/Rez
RINCLUDES=/System/Library/Frameworks/Carbon.framework/Libraries/RIncludes
REZ_ARGS=-append -i $RINCLUDES -d SystemSevenOrLater=1 -useDF
$(APP)/.build: bochs
rm -f $(APP)/.build
$(MKDIR) -p $(APP)
$(MKDIR) -p $(APP)/Contents
$(CP) -f $(MACOSX_STUFF)/Info.plist $(APP)/Contents
$(CP) -f $(MACOSX_STUFF)/pbdevelopment.plist $(APP)/Contents
echo -n "APPL????" > $(APP)/Contents/PkgInfo
$(MKDIR) -p $(APP)/Contents/MacOS
$(CP) bochs $(APP)/Contents/MacOS
$(MKDIR) -p $(APP)/Contents/Resources
$(REZ) $(REZ_ARGS) $(MACOSX_STUFF)/bochs.r -o $(APP)/Contents/Resources/bochs.rsrc
ls -ld $(APP)
touch $(APP)/.build