dosbox-x/ref-nmake/nMakefile
2019-10-01 19:03:37 +08:00

366 lines
14 KiB
Plaintext

CC = cl
CXX = cl
LD = link
LIBR = lib
WINDRES = rc
DBX_PATH = ..
SDLDIR = ..\vs2015\sdl
ZLIB = ..\vs2015\zlib
LPNG = ..\vs2015\libpng
PDCURSES = ..\vs2015\libpdcurses
CXXFLAGS = -utf-8 -nologo -O2 -MT -EHsc -DNDEBUG -DWIN32 -D__WIN32__ -D_FILE_OFFSET_BITS=64 -DC_OPENGL=1 -DC_MT32=1 -I. \
-D_WIN32_WINNT=0x0501 \
-Dmain=SDL_main -I$(SDLDIR)\include \
-I$(LPNG) -I$(ZLIB) -I$(PDCURSES) \
-I$(DBX_PATH) \
-I$(DBX_PATH)/include \
-I$(DBX_PATH)/src \
-I$(DBX_PATH)/src/aviwriter \
-I$(DBX_PATH)/src/hardware/snd_pc98/sound \
-I$(DBX_PATH)/src/hardware/snd_pc98/common \
-I$(DBX_PATH)/src/hardware/snd_pc98/generic \
-I$(DBX_PATH)/src/hardware/snd_pc98/sound/getsnd \
-I$(DBX_PATH)/src/hardware/snd_pc98/x11 \
-I$(DBX_PATH)/src/hardware/snd_pc98/cbus \
-I$(DBX_PATH)/src/xBRZ
CFLAGS = -nologo -O2 -MT -DNDEBUG -DWIN32 -D_WIN32_WINNT=0x0501 -I. \
-Dmain=SDL_main -I$(SDLDIR)\include \
-I$(LPNG) -I$(ZLIB) \
-I$(DBX_PATH) \
-I$(DBX_PATH)/include \
-I$(DBX_PATH)/src \
-I$(DBX_PATH)/src/aviwriter \
-I$(DBX_PATH)/src/hardware/snd_pc98/sound \
-I$(DBX_PATH)/src/hardware/snd_pc98/common \
-I$(DBX_PATH)/src/hardware/snd_pc98/generic \
-I$(DBX_PATH)/src/hardware/snd_pc98/sound/getsnd \
-I$(DBX_PATH)/src/hardware/snd_pc98/x11 \
-I$(DBX_PATH)/src/hardware/snd_pc98/cbus
LFLAGS = -nologo -SUBSYSTEM:Windows,"5.01"
TARGET = dosbox-x.exe
OBJS = $(DBX_PATH)\src\dosbox.obj \
$(DBX_PATH)\src\aviwriter\avi_rw_iobuf.obj \
$(DBX_PATH)\src\aviwriter\avi_writer.obj \
$(DBX_PATH)\src\aviwriter\guid.obj \
$(DBX_PATH)\src\aviwriter\ksdataformat.obj \
$(DBX_PATH)\src\aviwriter\riff.obj \
$(DBX_PATH)\src\aviwriter\riff_wav_writer.obj \
$(DBX_PATH)\src\builtin\25_com.obj \
$(DBX_PATH)\src\builtin\28_com.obj \
$(DBX_PATH)\src\builtin\50_com.obj \
$(DBX_PATH)\src\builtin\append_exe.obj \
$(DBX_PATH)\src\builtin\buffers_com.obj \
$(DBX_PATH)\src\builtin\copy_exe.obj \
$(DBX_PATH)\src\builtin\cwsdpmi_exe.obj \
$(DBX_PATH)\src\builtin\debug_exe.obj \
$(DBX_PATH)\src\builtin\device_com.obj \
$(DBX_PATH)\src\builtin\dos32a_exe.obj \
$(DBX_PATH)\src\builtin\dos4gw_exe.obj \
$(DBX_PATH)\src\builtin\dosidle_exe.obj \
$(DBX_PATH)\src\builtin\dsxmenu_exe_pc.obj \
$(DBX_PATH)\src\builtin\dsxmenu_exe_pc98.obj \
$(DBX_PATH)\src\builtin\edit_com.obj \
$(DBX_PATH)\src\builtin\fcbs_com.obj \
$(DBX_PATH)\src\builtin\find_exe.obj \
$(DBX_PATH)\src\builtin\hexmem16_exe.obj \
$(DBX_PATH)\src\builtin\hexmem32_exe.obj \
$(DBX_PATH)\src\builtin\lastdriv_com.obj \
$(DBX_PATH)\src\builtin\mem_com.obj \
$(DBX_PATH)\src\builtin\move_exe.obj \
$(DBX_PATH)\src\builtin\tree_exe.obj \
$(DBX_PATH)\src\builtin\xcopy_exe.obj \
$(DBX_PATH)\src\cpu\callback.obj \
$(DBX_PATH)\src\cpu\core_dynrec.obj \
$(DBX_PATH)\src\cpu\core_full.obj \
$(DBX_PATH)\src\cpu\core_normal.obj \
$(DBX_PATH)\src\cpu\core_normal_286.obj \
$(DBX_PATH)\src\cpu\core_normal_8086.obj \
$(DBX_PATH)\src\cpu\core_prefetch.obj \
$(DBX_PATH)\src\cpu\core_prefetch_286.obj \
$(DBX_PATH)\src\cpu\core_prefetch_8086.obj \
$(DBX_PATH)\src\cpu\core_simple.obj \
$(DBX_PATH)\src\cpu\cpu.obj \
$(DBX_PATH)\src\cpu\flags.obj \
$(DBX_PATH)\src\cpu\mmx.obj \
$(DBX_PATH)\src\cpu\modrm.obj \
$(DBX_PATH)\src\cpu\paging.obj \
$(DBX_PATH)\src\debug\debug.obj \
$(DBX_PATH)\src\debug\debug_disasm.obj \
$(DBX_PATH)\src\debug\debug_gui.obj \
$(DBX_PATH)\src\debug\debug_win32.obj \
$(DBX_PATH)\src\dos\cdrom.obj \
$(DBX_PATH)\src\dos\cdrom_aspi_win32.obj \
$(DBX_PATH)\src\dos\cdrom_image.obj \
$(DBX_PATH)\src\dos\cdrom_ioctl_linux.obj \
$(DBX_PATH)\src\dos\cdrom_ioctl_os2.obj \
$(DBX_PATH)\src\dos\cdrom_ioctl_win32.obj \
$(DBX_PATH)\src\dos\dos.obj \
$(DBX_PATH)\src\dos\dos_classes.obj \
$(DBX_PATH)\src\dos\dos_devices.obj \
$(DBX_PATH)\src\dos\dos_execute.obj \
$(DBX_PATH)\src\dos\dos_files.obj \
$(DBX_PATH)\src\dos\dos_ioctl.obj \
$(DBX_PATH)\src\dos\dos_keyboard_layout.obj \
$(DBX_PATH)\src\dos\dos_memory.obj \
$(DBX_PATH)\src\dos\dos_misc.obj \
$(DBX_PATH)\src\dos\dos_mscdex.obj \
$(DBX_PATH)\src\dos\dos_programs.obj \
$(DBX_PATH)\src\dos\dos_tables.obj \
$(DBX_PATH)\src\dos\drives.obj \
$(DBX_PATH)\src\dos\drive_cache.obj \
$(DBX_PATH)\src\dos\drive_fat.obj \
$(DBX_PATH)\src\dos\drive_iso.obj \
$(DBX_PATH)\src\dos\drive_local.obj \
$(DBX_PATH)\src\dos\drive_virtual.obj \
$(DBX_PATH)\src\fpu\fpu.obj \
$(DBX_PATH)\src\gui\menu.obj \
$(DBX_PATH)\src\gui\midi.obj \
$(DBX_PATH)\src\gui\render.obj \
$(DBX_PATH)\src\gui\render_scalers.obj \
$(DBX_PATH)\src\gui\sdlmain.obj \
$(DBX_PATH)\src\gui\sdlmain_linux.obj \
$(DBX_PATH)\src\gui\sdl_gui.obj \
$(DBX_PATH)\src\gui\sdl_mapper.obj \
$(DBX_PATH)\src\gui\bitop.obj \
$(DBX_PATH)\src\gui\ptrop.obj \
$(DBX_PATH)\src\gui\zipfile.obj \
$(DBX_PATH)\src\gui\zipcrc.obj \
$(DBX_PATH)\src\xBRZ\xbrz.obj \
$(DBX_PATH)\src\output\output_direct3d.obj \
$(DBX_PATH)\src\output\output_opengl.obj \
$(DBX_PATH)\src\output\output_surface.obj \
$(DBX_PATH)\src\output\output_surface_sdl.obj \
$(DBX_PATH)\src\output\output_surface_sdl2.obj \
$(DBX_PATH)\src\output\output_tools.obj \
$(DBX_PATH)\src\output\output_tools_xbrz.obj
OBJS2 = $(DBX_PATH)\src\hardware\8255.obj \
$(DBX_PATH)\src\hardware\adlib.obj \
$(DBX_PATH)\src\hardware\cmos.obj \
$(DBX_PATH)\src\hardware\dbopl.obj \
$(DBX_PATH)\src\hardware\disney.obj \
$(DBX_PATH)\src\hardware\dma.obj \
$(DBX_PATH)\src\hardware\dongle.obj \
$(DBX_PATH)\src\hardware\floppy.obj \
$(DBX_PATH)\src\hardware\gameblaster.obj \
$(DBX_PATH)\src\hardware\gus.obj \
$(DBX_PATH)\src\hardware\hardopl.obj \
$(DBX_PATH)\src\hardware\hardware.obj \
$(DBX_PATH)\src\hardware\ide.obj \
$(DBX_PATH)\src\hardware\innova.obj \
$(DBX_PATH)\src\hardware\iohandler.obj \
$(DBX_PATH)\src\hardware\ipx.obj \
$(DBX_PATH)\src\hardware\ipxserver.obj \
$(DBX_PATH)\src\hardware\joystick.obj \
$(DBX_PATH)\src\hardware\keyboard.obj \
$(DBX_PATH)\src\hardware\memory.obj \
$(DBX_PATH)\src\hardware\mixer.obj \
$(DBX_PATH)\src\hardware\mpu401.obj \
$(DBX_PATH)\src\hardware\ne2000.obj \
$(DBX_PATH)\src\hardware\nukedopl.obj \
$(DBX_PATH)\src\hardware\opl.obj \
$(DBX_PATH)\src\hardware\pc98.obj \
$(DBX_PATH)\src\hardware\pc98_fm.obj \
$(DBX_PATH)\src\hardware\pci_bus.obj \
$(DBX_PATH)\src\hardware\pcspeaker.obj \
$(DBX_PATH)\src\hardware\pic.obj \
$(DBX_PATH)\src\hardware\ps1_sound.obj \
$(DBX_PATH)\src\hardware\sblaster.obj \
$(DBX_PATH)\src\hardware\tandy_sound.obj \
$(DBX_PATH)\src\hardware\timer.obj \
$(DBX_PATH)\src\hardware\vga.obj \
$(DBX_PATH)\src\hardware\vga_attr.obj \
$(DBX_PATH)\src\hardware\vga_crtc.obj \
$(DBX_PATH)\src\hardware\vga_dac.obj \
$(DBX_PATH)\src\hardware\vga_draw.obj \
$(DBX_PATH)\src\hardware\vga_gfx.obj \
$(DBX_PATH)\src\hardware\vga_memory.obj \
$(DBX_PATH)\src\hardware\vga_misc.obj \
$(DBX_PATH)\src\hardware\vga_other.obj \
$(DBX_PATH)\src\hardware\vga_paradise.obj \
$(DBX_PATH)\src\hardware\vga_pc98_cg.obj \
$(DBX_PATH)\src\hardware\vga_pc98_crtc.obj \
$(DBX_PATH)\src\hardware\vga_pc98_dac.obj \
$(DBX_PATH)\src\hardware\vga_pc98_egc.obj \
$(DBX_PATH)\src\hardware\vga_pc98_gdc.obj \
$(DBX_PATH)\src\hardware\vga_s3.obj \
$(DBX_PATH)\src\hardware\vga_seq.obj \
$(DBX_PATH)\src\hardware\vga_tseng.obj \
$(DBX_PATH)\src\hardware\vga_xga.obj \
$(DBX_PATH)\src\hardware\voodoo.obj \
$(DBX_PATH)\src\hardware\voodoo_emu.obj \
$(DBX_PATH)\src\hardware\voodoo_interface.obj \
$(DBX_PATH)\src\hardware\voodoo_opengl.obj \
$(DBX_PATH)\src\hardware\voodoo_vogl.obj
OBJS3 = $(DBX_PATH)\src\hardware\mame\fmopl.obj \
$(DBX_PATH)\src\hardware\mame\saa1099.obj \
$(DBX_PATH)\src\hardware\mame\sn76496.obj \
$(DBX_PATH)\src\hardware\mame\ymdeltat.obj \
$(DBX_PATH)\src\hardware\mame\ymf262.obj \
$(DBX_PATH)\src\hardware\parport\directlpt_linux.obj \
$(DBX_PATH)\src\hardware\parport\directlpt_win32.obj \
$(DBX_PATH)\src\hardware\parport\filelpt.obj \
$(DBX_PATH)\src\hardware\parport\parport.obj \
$(DBX_PATH)\src\hardware\parport\printer.obj \
$(DBX_PATH)\src\hardware\parport\printer_charmaps.obj \
$(DBX_PATH)\src\hardware\reSID\envelope.obj \
$(DBX_PATH)\src\hardware\reSID\extfilt.obj \
$(DBX_PATH)\src\hardware\reSID\filter.obj \
$(DBX_PATH)\src\hardware\reSID\pot.obj \
$(DBX_PATH)\src\hardware\reSID\sid.obj \
$(DBX_PATH)\src\hardware\reSID\version.obj \
$(DBX_PATH)\src\hardware\reSID\voice.obj \
$(DBX_PATH)\src\hardware\reSID\wave.obj \
$(DBX_PATH)\src\hardware\reSID\wave6581_PST.obj \
$(DBX_PATH)\src\hardware\reSID\wave6581_PS_.obj \
$(DBX_PATH)\src\hardware\reSID\wave6581_P_T.obj \
$(DBX_PATH)\src\hardware\reSID\wave6581__ST.obj \
$(DBX_PATH)\src\hardware\reSID\wave8580_PST.obj \
$(DBX_PATH)\src\hardware\reSID\wave8580_PS_.obj \
$(DBX_PATH)\src\hardware\reSID\wave8580_P_T.obj \
$(DBX_PATH)\src\hardware\reSID\wave8580__ST.obj \
$(DBX_PATH)\src\hardware\serialport\directserial.obj \
$(DBX_PATH)\src\hardware\serialport\libserial.obj \
$(DBX_PATH)\src\hardware\serialport\misc_util.obj \
$(DBX_PATH)\src\hardware\serialport\nullmodem.obj \
$(DBX_PATH)\src\hardware\serialport\serialdummy.obj \
$(DBX_PATH)\src\hardware\serialport\seriallog.obj \
$(DBX_PATH)\src\hardware\serialport\serialmouse.obj \
$(DBX_PATH)\src\hardware\serialport\serialport.obj \
$(DBX_PATH)\src\hardware\serialport\softmodem.obj \
$(DBX_PATH)\src\hardware\snd_pc98\cbus\board86.obj \
$(DBX_PATH)\src\hardware\snd_pc98\cbus\board26k.obj \
$(DBX_PATH)\src\hardware\snd_pc98\common\parts.obj \
$(DBX_PATH)\src\hardware\snd_pc98\generic\keydisp.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\opngeng.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\opngenc.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\pcm86g.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\pcm86c.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\tms3631g.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\tms3631c.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\psggeng.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\psggenc.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\adpcmg.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\adpcmc.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\rhythmc.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\fmboard.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\fmtimer.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\sound.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\soundrom.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\getsnd\getsmix.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\getsnd\getsnd.obj \
$(DBX_PATH)\src\hardware\snd_pc98\sound\getsnd\getwave.obj \
$(DBX_PATH)\src\hardware\snd_pc98\x11\dosio.obj
OBJS4 = $(DBX_PATH)\src\ints\bios.obj \
$(DBX_PATH)\src\ints\bios_disk.obj \
$(DBX_PATH)\src\ints\bios_keyboard.obj \
$(DBX_PATH)\src\ints\bios_memdisk.obj \
$(DBX_PATH)\src\ints\bios_vhd.obj \
$(DBX_PATH)\src\ints\ems.obj \
$(DBX_PATH)\src\ints\int10.obj \
$(DBX_PATH)\src\ints\int10_char.obj \
$(DBX_PATH)\src\ints\int10_memory.obj \
$(DBX_PATH)\src\ints\int10_misc.obj \
$(DBX_PATH)\src\ints\int10_modes.obj \
$(DBX_PATH)\src\ints\int10_pal.obj \
$(DBX_PATH)\src\ints\int10_put_pixel.obj \
$(DBX_PATH)\src\ints\int10_vesa.obj \
$(DBX_PATH)\src\ints\int10_video_state.obj \
$(DBX_PATH)\src\ints\int10_vptable.obj \
$(DBX_PATH)\src\ints\mouse.obj \
$(DBX_PATH)\src\ints\qcow2_disk.obj \
$(DBX_PATH)\src\ints\xms.obj \
$(DBX_PATH)\src\libs\gui_tk\gui_tk.obj \
$(DBX_PATH)\src\libs\zmbv\zmbv.obj \
$(DBX_PATH)\src\misc\cross.obj \
$(DBX_PATH)\src\misc\messages.obj \
$(DBX_PATH)\src\misc\programs.obj \
$(DBX_PATH)\src\misc\regionalloctracking.obj \
$(DBX_PATH)\src\misc\setup.obj \
$(DBX_PATH)\src\misc\shiftjis.obj \
$(DBX_PATH)\src\misc\support.obj \
$(DBX_PATH)\src\shell\shell.obj \
$(DBX_PATH)\src\shell\shell_batch.obj \
$(DBX_PATH)\src\shell\shell_cmds.obj \
$(DBX_PATH)\src\shell\shell_misc.obj \
$(DBX_PATH)\src\winres.res
OBJS_MT32 = $(DBX_PATH)\src\mt32\AReverbModel.obj \
$(DBX_PATH)\src\mt32\BReverbModel.obj \
$(DBX_PATH)\src\mt32\DelayReverb.obj \
$(DBX_PATH)\src\mt32\File.obj \
$(DBX_PATH)\src\mt32\FileStream.obj \
$(DBX_PATH)\src\mt32\FreeverbModel.obj \
$(DBX_PATH)\src\mt32\LA32Ramp.obj \
$(DBX_PATH)\src\mt32\LA32WaveGenerator.obj \
$(DBX_PATH)\src\mt32\LegacyWaveGenerator.obj \
$(DBX_PATH)\src\mt32\Part.obj \
$(DBX_PATH)\src\mt32\Partial.obj \
$(DBX_PATH)\src\mt32\PartialManager.obj \
$(DBX_PATH)\src\mt32\Poly.obj \
$(DBX_PATH)\src\mt32\ROMInfo.obj \
$(DBX_PATH)\src\mt32\Synth.obj \
$(DBX_PATH)\src\mt32\Tables.obj \
$(DBX_PATH)\src\mt32\TVA.obj \
$(DBX_PATH)\src\mt32\TVF.obj \
$(DBX_PATH)\src\mt32\TVP.obj \
$(DBX_PATH)\src\mt32\freeverb\allpass.obj \
$(DBX_PATH)\src\mt32\freeverb\comb.obj \
$(DBX_PATH)\src\mt32\freeverb\revmodel.obj \
$(DBX_PATH)\src\mt32\sha1\sha1.obj
OBJS_D3D = $(DBX_PATH)\src\output\direct3d\direct3d.obj \
$(DBX_PATH)\src\output\direct3d\hq2x_d3d.obj \
$(DBX_PATH)\src\output\direct3d\ScalingEffect.obj
OBJS4 = $(OBJS4) $(OBJS_MT32)
CXXFLAGS = $(CXXFLAGS) -I$(DBX_PATH)/src/mt32
LIBS = kernel32.lib user32.lib gdi32.lib imm32.lib winmm.lib dxguid.lib shell32.lib ole32.lib comdlg32.lib opengl32.lib advapi32.lib ws2_32.lib deps\sdl.lib deps\sdlmain.lib deps\z.lib deps\png.lib deps\pdcurses.lib
!IFDEF LTCG
CXXFLAGS = $(CXXFLAGS) -GL
CFLAGS = $(CFLAGS) -GL
LFLAGS = $(LFLAGS) -LTCG
!ENDIF
!IFDEF D3D9
CXXFLAGS = -DHAVE_D3D9_H=1 $(CXXFLAGS)
OBJS4 = $(OBJS4) $(OBJS_D3D)
!ENDIF
.SUFFIXES: .c.o
.SUFFIXES: .cpp.o
all: $(TARGET) $(SDLMAIN)
$(TARGET): $(OBJS) $(OBJS2) $(OBJS3) $(OBJS4)
$(LD) $(LFLAGS) -OUT:$@ $(OBJS) $(OBJS2) $(OBJS3) $(OBJS4) $(LIBS)
.c.obj:
$(CC) $(CFLAGS) -c -Fo$@ $<
.cpp.obj:
$(CXX) $(CXXFLAGS) -c -Fo$@ $<
.rc.res:
$(WINDRES) -fo $@ $<
clean:
del $(TARGET) $(OBJS)
del $(OBJS2)
del $(OBJS3)
del $(OBJS4)
del *.lib *.exp