# Generated automatically from Makefile.in by configure.
# Copyright Notice
# ================
# BOCHS is Copyright 1994-1999 by Kevin P. Lawton.
#
# BOCHS is commercial software.
#
# For more information, read the file 'LICENSE' included in the bochs
# distribution.  If you don't have access to this file, or have questions
# regarding the licensing policy, the author may be contacted via:
#
#     US Mail:  Kevin Lawton
#               439 Marrett Rd.
#               Lexington, MA 02421-7714
#
#     EMail:    bochs@world.std.com


.SUFFIXES: .cc


SHELL = /bin/sh




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

LDFLAGS = 
LIBS = 
X_LIBS = 
X_PRE_LIBS = 
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

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


.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:ALPHA /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:
	start /WAIT /B del *.o
	start /WAIT /B del *.a
	start /WAIT /B del bochs.exe
	start /WAIT /B del bochs.out

local-dist-clean: clean
	start /WAIT /B 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 ..
	start /WAIT /B del Makefile
