# Generated automatically from Makefile.in by configure.
# 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


.SUFFIXES: .cc


SHELL = /bin/sh




CC = cl
CXX = cl
CFLAGS = /nologo /G6 /MT /W3 /GX /O2 /DNDEBUG /DWIN32 /D_WINDOWS $(MCH_CFLAGS) $(FLA_FLAGS)
CXXFLAGS = /nologo /G6 /MT /W3 /GX /O2 /DNDEBUG /DWIN32 /D_WINDOWS $(MCH_CFLAGS) $(FLA_FLAGS)

LDFLAGS = 
LIBS = 
X_LIBS =  -L/usr/X11R6/lib
X_PRE_LIBS =  -lSM -lICE
GUI_LINK_OPTS_X = $(X_LIBS) $(X_PRE_LIBS) -lX11
GUI_LINK_OPTS_BEOS = -lbe
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_NOGUI =
GUI_LINK_OPTS = $(GUI_LINK_OPTS_WIN32_VCPP)
RANLIB = echo

BX_INCDIRS = -I. -Iinstrument/stubs

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 = \
	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/stubs/libinstrument.a
FPU_LIB        = fpu/libfpu.a

BX_OBJS = $(NONINLINE_OBJS)

BX_INCLUDES = bochs.h config.h osdep.h


.cc.o:
	$(CXX) /c $(CXXFLAGS) $(BX_INCDIRS) /Tp$< /Fo$@


all: bochs.exe




bochs.exe: iodev/libiodev.a  \
           cpu/libcpu.a memory/libmemory.a gui/libgui.a \
              $(BX_OBJS) \
           $(SIMX86_OBJS) \
           $(FPU_LIB)
	link /nologo /subsystem:console /incremental:no /machine:I386 /out:$@ BINMODE.OBJ $(BX_OBJS) \
                $(SIMX86_OBJS) \
		iodev/libiodev.a \
		cpu/libcpu.a memory/libmemory.a gui/libgui.a \
		    \
		$(FPU_LIB) \
		$(GUI_LINK_OPTS) \
		$(MCH_LINK_FLAGS) \
	        $(SIMX86_LINK_FLAGS)


$(BX_OBJS): $(BX_INCLUDES)


iodev/libiodev.a:
	cd iodev 
	$(MAKE) $(MDEFINES) libiodev.a
	cd ..

debug/libdebug.a:
	cd debug 
	$(MAKE) $(MDEFINES) libdebug.a
	cd ..

cpu/libcpu.a:
	cd cpu 
	$(MAKE) $(MDEFINES) libcpu.a
	cd ..

memory/libmemory.a:
	cd memory 
	$(MAKE) $(MDEFINES) libmemory.a
	cd ..

gui/libgui.a:
	cd gui 
	$(MAKE) $(MDEFINES) libgui.a
	cd ..

disasm/libdisasm.a:
	cd disasm 
	$(MAKE) $(MDEFINES) libdisasm.a
	cd ..

dynamic/libdynamic.a:
	cd dynamic 
	$(MAKE) $(MDEFINES) libdynamic.a
	cd ..

instrument/stubs/libinstrument.a:
	cd instrument/stubs 
	$(MAKE) $(MDEFINES) libinstrument.a
	cd ..\..

fpu/libfpu.a:
	cd fpu 
	$(MAKE) $(MDEFINES) libfpu.a
	cd ..

libbochs.a:
	-rm -f libbochs.a
	ar rv libbochs.a $(EXTERN_ENVIRONMENT_OBJS)
	$(RANLIB) libbochs.a

libbochs_cpu.a:  $(BX_OBJS)
	-rm -f libbochs_cpu.a
	ar rv libbochs_cpu.a $(BX_OBJS)
	$(RANLIB) libbochs_cpu.a

clean:
	-del *.o
	-del *.a
	-del bochs.exe
	-del bochs.out

local-dist-clean: clean
	-del config.h config.status config.log config.cache

all-clean: clean
	cd iodev 
	$(MAKE) clean
	cd ..
	cd debug 
	$(MAKE) clean
	cd ..
	cd cpu 
	$(MAKE) clean
	cd ..
	cd memory 
	$(MAKE) clean
	cd ..
	cd gui 
	$(MAKE) clean
	cd ..
	cd disasm 
	$(MAKE) clean
	cd ..
	cd instrument/stubs 
	$(MAKE) clean
	cd ..\..
	cd misc 
	$(MAKE) clean
	cd ..
	cd dynamic 
	$(MAKE) clean
	cd ..
	cd fpu 
	$(MAKE) clean
	cd ..

dist-clean: local-dist-clean
	cd iodev 
	$(MAKE) dist-clean
	cd ..
	cd debug 
	$(MAKE) dist-clean
	cd ..
	cd bios 
	$(MAKE) dist-clean
	cd ..
	cd cpu 
	$(MAKE) dist-clean
	cd ..
	cd memory 
	$(MAKE) dist-clean
	cd ..
	cd gui 
	$(MAKE) dist-clean
	cd ..
	cd disasm 
	$(MAKE) dist-clean
	cd ..
	cd instrument/stubs 
	$(MAKE) dist-clean
	cd ..\..
	cd misc 
	$(MAKE) dist-clean
	cd ..
	cd dynamic 
	$(MAKE) dist-clean
	cd ..
	cd fpu 
	$(MAKE) dist-clean
	cd ..
	-del Makefile
