diff --git a/src/cdrom/cdrom_image.cc b/src/cdrom/cdrom_image.cpp similarity index 99% rename from src/cdrom/cdrom_image.cc rename to src/cdrom/cdrom_image.cpp index 2eee62b..6a79988 100644 --- a/src/cdrom/cdrom_image.cc +++ b/src/cdrom/cdrom_image.cpp @@ -8,7 +8,7 @@ * * CD-ROM image support. * - * Version: @(#)cdrom_image.cc 1.0.2 2018/02/21 + * Version: @(#)cdrom_image.cpp 1.0.3 2018/02/22 * * Authors: Fred N. van Kempen, * Miran Grca, diff --git a/src/sound/resid-fp/convolve-sse.cc b/src/sound/resid-fp/convolve-sse.cpp similarity index 100% rename from src/sound/resid-fp/convolve-sse.cc rename to src/sound/resid-fp/convolve-sse.cpp diff --git a/src/sound/resid-fp/convolve.cc b/src/sound/resid-fp/convolve.cpp similarity index 100% rename from src/sound/resid-fp/convolve.cc rename to src/sound/resid-fp/convolve.cpp diff --git a/src/sound/resid-fp/envelope.cc b/src/sound/resid-fp/envelope.cpp similarity index 100% rename from src/sound/resid-fp/envelope.cc rename to src/sound/resid-fp/envelope.cpp diff --git a/src/sound/resid-fp/extfilt.cc b/src/sound/resid-fp/extfilt.cpp similarity index 100% rename from src/sound/resid-fp/extfilt.cc rename to src/sound/resid-fp/extfilt.cpp diff --git a/src/sound/resid-fp/filter.cc b/src/sound/resid-fp/filter.cpp similarity index 100% rename from src/sound/resid-fp/filter.cc rename to src/sound/resid-fp/filter.cpp diff --git a/src/sound/resid-fp/pot.cc b/src/sound/resid-fp/pot.cpp similarity index 100% rename from src/sound/resid-fp/pot.cc rename to src/sound/resid-fp/pot.cpp diff --git a/src/sound/resid-fp/sid.cc b/src/sound/resid-fp/sid.cpp similarity index 100% rename from src/sound/resid-fp/sid.cc rename to src/sound/resid-fp/sid.cpp diff --git a/src/sound/resid-fp/version.cc b/src/sound/resid-fp/version.cpp similarity index 100% rename from src/sound/resid-fp/version.cc rename to src/sound/resid-fp/version.cpp diff --git a/src/sound/resid-fp/voice.cc b/src/sound/resid-fp/voice.cpp similarity index 100% rename from src/sound/resid-fp/voice.cc rename to src/sound/resid-fp/voice.cpp diff --git a/src/sound/resid-fp/wave.cc b/src/sound/resid-fp/wave.cpp similarity index 100% rename from src/sound/resid-fp/wave.cc rename to src/sound/resid-fp/wave.cpp diff --git a/src/sound/resid-fp/wave6581_PST.cc b/src/sound/resid-fp/wave6581_PST.cpp similarity index 100% rename from src/sound/resid-fp/wave6581_PST.cc rename to src/sound/resid-fp/wave6581_PST.cpp diff --git a/src/sound/resid-fp/wave6581_PS_.cc b/src/sound/resid-fp/wave6581_PS_.cpp similarity index 100% rename from src/sound/resid-fp/wave6581_PS_.cc rename to src/sound/resid-fp/wave6581_PS_.cpp diff --git a/src/sound/resid-fp/wave6581_P_T.cc b/src/sound/resid-fp/wave6581_P_T.cpp similarity index 100% rename from src/sound/resid-fp/wave6581_P_T.cc rename to src/sound/resid-fp/wave6581_P_T.cpp diff --git a/src/sound/resid-fp/wave6581__ST.cc b/src/sound/resid-fp/wave6581__ST.cpp similarity index 100% rename from src/sound/resid-fp/wave6581__ST.cc rename to src/sound/resid-fp/wave6581__ST.cpp diff --git a/src/sound/resid-fp/wave8580_PST.cc b/src/sound/resid-fp/wave8580_PST.cpp similarity index 100% rename from src/sound/resid-fp/wave8580_PST.cc rename to src/sound/resid-fp/wave8580_PST.cpp diff --git a/src/sound/resid-fp/wave8580_PS_.cc b/src/sound/resid-fp/wave8580_PS_.cpp similarity index 100% rename from src/sound/resid-fp/wave8580_PS_.cc rename to src/sound/resid-fp/wave8580_PS_.cpp diff --git a/src/sound/resid-fp/wave8580_P_T.cc b/src/sound/resid-fp/wave8580_P_T.cpp similarity index 100% rename from src/sound/resid-fp/wave8580_P_T.cc rename to src/sound/resid-fp/wave8580_P_T.cpp diff --git a/src/sound/resid-fp/wave8580__ST.cc b/src/sound/resid-fp/wave8580__ST.cpp similarity index 100% rename from src/sound/resid-fp/wave8580__ST.cc rename to src/sound/resid-fp/wave8580__ST.cpp diff --git a/src/sound/snd_adlibgold.c b/src/sound/snd_adlibgold.c index a49812f..17ab72d 100644 --- a/src/sound/snd_adlibgold.c +++ b/src/sound/snd_adlibgold.c @@ -10,7 +10,7 @@ * * TODO: Stack allocation of big buffers (line 688 et al.) * - * Version: @(#)snd_adlibgold.c 1.0.3 2018/02/21 + * Version: @(#)snd_adlibgold.c 1.0.3 2018/02/22 * * Authors: Fred N. van Kempen, * Miran Grca, diff --git a/src/sound/snd_dbopl.cc b/src/sound/snd_dbopl.cpp similarity index 99% rename from src/sound/snd_dbopl.cc rename to src/sound/snd_dbopl.cpp index e7ea629..778fc67 100644 --- a/src/sound/snd_dbopl.cc +++ b/src/sound/snd_dbopl.cpp @@ -10,7 +10,7 @@ * * NOTE: See MSC_ macros for allocation on stack. --FvK * - * Version: @(#)snd_dbopl.c 1.0.3 2018/02/21 + * Version: @(#)snd_dbopl.cpp 1.0.3 2018/02/22 * * Authors: Fred N. van Kempen, * Miran Grca, diff --git a/src/sound/snd_resid.cc b/src/sound/snd_resid.cpp similarity index 98% rename from src/sound/snd_resid.cc rename to src/sound/snd_resid.cpp index 34bbc3f..91c5932 100644 --- a/src/sound/snd_resid.cc +++ b/src/sound/snd_resid.cpp @@ -8,7 +8,7 @@ * * Interface to the ReSid library. * - * Version: @(#)snd_resid.c 1.0.1 2018/02/14 + * Version: @(#)snd_resid.cpp 1.0.2 2018/02/22 * * Authors: Fred N. van Kempen, * Miran Grca, diff --git a/src/win/Makefile.MSVC b/src/win/Makefile.MSVC new file mode 100644 index 0000000..dd2ab92 --- /dev/null +++ b/src/win/Makefile.MSVC @@ -0,0 +1,591 @@ +# +# 86Box A hypervisor and IBM PC system emulator that specializes in +# running old operating systems and software designed for IBM +# PC systems and compatibles from 1981 through fairly recent +# system designs based on the PCI bus. +# +# This file is part of the 86Box distribution. +# +# Makefile for Microsoft Visual Studio (2008) environment. +# +# Version: @(#)Makefile.MSVS 1.0.1 2017/11/25 +# +# Author: Fred N. van Kempen, +# + +# Various compile-time options. +ifndef STUFF +STUFF := +endif + +# Add feature selections here. +ifndef EXTRAS +EXTRAS := +endif + +# Defaults for several build options (possibly defined in a chained file.) +ifndef AUTODEP +AUTODEP := n +endif +ifndef CRASHDUMP +CRASHCUMP := n +endif +ifndef DEBUG +DEBUG := n +endif +ifndef OPTIM +OPTIM := n +endif +ifndef RELEASE +RELEASE := n +endif +ifndef X64 +X64 := n +endif +ifndef WX +WX := n +endif +ifndef USB +USB := n +endif +ifndef VNC +VNC := n +endif +ifndef RDP +RDP := n +endif +ifndef DEV_BUILD +DEV_BUILD := n +endif +ifndef DEV_BRANCH +DEV_BRANCH := n +endif +ifndef CIRRUS +CIRRUS := n +endif +ifndef NE1000 +NE1000 := n +endif +ifndef NV_RIVA +NV_RIVA := n +endif +ifndef OPENAL +OPENAL := y +endif +ifndef FLUIDSYNTH +FLUIDSYNTH := y +endif +ifndef MUNT +MUNT := y +endif +ifndef PAS16 +PAS16 := n +endif +ifndef DYNAREC +DYNAREC := y +endif + + +# Name of the executable. +ifndef PROG + ifneq ($(WX), n) + PROG := Wx86Box + else + PROG := 86Box + endif +endif + +ifeq ($(DEV_BUILD), y) +DEBUG := y +DEV_BRANCH := y +CIRRUS := y +NE1000 := y +NV_RIVA := y +PAS16 := y +VNC := y +endif + +# WxWidgets basic info. Extract using the config program. +ifneq ($(WX), n) + EXPATH += wx + WX_CONFIG := wx-config.exe + ifeq ($(WX), y) + WX_PATH := C:/MinGW32/WxWidgets + WX_FLAGS := -I$(WX_PATH)/lib/wx/include/msw-unicode-3.0 \ + -I$(WX_PATH)/include/wx-3.0 \ + -D__WXMSW__ -DWX_PRECOMP -D_FILE_OFFSET_BITS=64 -pthread +# -lwx_mswu_gl-3.0 -lwxtiff-3.0 -llzma + WX_LIBS := -mwindows -mthreads -L$(WX_PATH)/lib \ + -lwx_mswu-3.0.dll \ + -lrpcrt4 -loleaut32 -lole32 -luuid \ + -lwinspool -lwinmm -lshell32 -lcomctl32 \ + -lcomdlg32 -ladvapi32 -lwsock32 -lgdi32 + endif + ifeq ($(WX), static) + WX_PATH := C:/MinGW32/WxWidgets + WX_FLAGS := -I$(WX_PATH)/lib/wx/include/msw-unicode-3.0 \ + -I$(WX_PATH)/include/wx-3.0 \ + -D__WXMSW__ -DWX_PRECOMP -D_FILE_OFFSET_BITS=64 -pthread +# -lwx_mswu_gl-3.0 -lwxtiff-3.0 -llzma + WX_LIBS := -mwindows -mthreads -L$(WX_PATH)/lib \ + -lwx_mswu-3.0 -lwxscintilla-3.0 \ + -lwxjpeg-3.0 -lwxpng-3.0 -lwxzlib-3.0 \ + -lwxregexu-3.0 -lwxexpat-3.0 \ + -lrpcrt4 -loleaut32 -lole32 -luuid \ + -lwinspool -lwinmm -lshell32 -lcomctl32 \ + -lcomdlg32 -ladvapi32 -lwsock32 -lgdi32 + endif +endif + + +# Where is the the DirectX SDK? +DIRECTX = N:\DEV\Windows\DX9 +DXINC = -I$(DIRECTX)\Include +DXLIB = -L$(DIRECTX)\Lib + + +######################################################################### +# Nothing should need changing from here on.. # +######################################################################### +VPATH := $(EXPATH) . cpu \ + cdrom disk floppy game machine \ + sound \ + sound/munt sound/munt/c_interface sound/munt/sha1 \ + sound/munt/srchelper \ + sound/resid-fp \ + scsi video lzf network network/slirp win + + +# Set up the correct toolchain flags. +# Microsoft Windows, Intel PC, Microsoft Visual Studio 2008. +OPTS = -D_CRT_SECURE_NO_WARNINGS -D__MSC__ -D_WIN32 \ + -Dinline= +ifeq ($(X64), y) +OPTS += -D_WIN64 +CPP := cl +CC := cl +else +CPP := cl +CC := cl +endif +LD = link -nologo +AR = lib +RC = rc -nologo +DEPS = -MMD -MF $*.d -c $< +DEPFILE := win/.depends + +OPTS += -nologo $(EXTRAS) $(STUFF) +LOPTS := -nologo +ifdef EXFLAGS +OPTS += $(EXFLAGS) +endif +ifdef EXINC +OPTS += -I$(EXINC) +endif +ifeq ($(X64), y) + ifeq ($(OPTIM), y) + DFLAGS := #-march=native + else + DFLAGS := + endif +else + ifeq ($(OPTIM), y) + DFLAGS := #-march=native + else + DFLAGS := #-march=i686 + endif +endif +ifeq ($(DEBUG), y) + DFLAGS += -Z7 -DDEBUG + LOPTS += -debug + AOPTIM := + ifndef COPTIM + COPTIM := -Od + endif +else + ifeq ($(OPTIM), y) + AOPTIM := #-mtune=native + ifndef COPTIM + COPTIM := -O2 + endif + else + ifndef COPTIM + COPTIM := -O2 + endif + endif +endif +AFLAGS := #-msse -msse2 -mfpmath=sse +RFLAGS := +ifeq ($(CRASHDUMP), y) +OPTS += -DUSE_CRASHDUMP +endif +ifeq ($(RELEASE), y) +OPTS += -DRELEASE_BUILD +RFLAGS += -DRELEASE_BUILD +endif +ifeq ($(VRAMDUMP), y) +OPTS += -DENABLE_VRAM_DUMP +RFLAGS += -DENABLE_VRAM_DUMP +endif +ifeq ($(X64), y) +PLATCG := codegen_x86-64.obj +CGOPS := codegen_ops_x86-64.h +VCG := vid_voodoo_codegen_x86-64.h +else +PLATCG := codegen_x86.obj +CGOPS := codegen_ops_x86.h +VCG := vid_voodoo_codegen_x86.h +endif + +# Optional modules. +ifeq ($(DYNAREC), y) +OPTS += -DUSE_DYNAREC +RFLAGS += -DUSE_DYNAREC +DYNARECOBJ := 386_dynarec_ops.obj \ + codegen.obj \ + codegen_ops.obj \ + codegen_timing_common.obj codegen_timing_486.obj \ + codegen_timing_686.obj codegen_timing_pentium.obj \ + codegen_timing_winchip.obj $(PLATCG) +endif + +ifneq ($(WX), n) + OPTS += -DUSE_WX $(WX_FLAGS) + LIBS += $(WX_LIBS) + UIOBJ := wx_main.obj wx_ui.obj wx_stbar.obj wx_render.obj +else + UIOBJ := win_ui.obj win_ddraw.obj win_d3d.obj win_png.obj \ + win_dialog.obj win_about.obj win_status.obj win_stbar.obj \ + win_settings.obj win_devconf.obj win_jsconf.obj +endif + +ifeq ($(OPENAL), y) +OPTS += -DUSE_OPENAL +endif +ifeq ($(FLUIDSYNTH), y) +OPTS += -DUSE_FLUIDSYNTH +FSYNTHOBJ := midi_fluidsynth.obj +endif + +ifeq ($(MUNT), y) +OPTS += -DUSE_MUNT +MUNTOBJ := midi_mt32.obj \ + Analog.obj BReverbModel.obj File.obj FileStream.obj LA32Ramp.obj \ + LA32FloatWaveGenerator.obj LA32WaveGenerator.obj \ + MidiStreamParser.obj Part.obj Partial.obj PartialManager.obj \ + Poly.obj ROMInfo.obj SampleRateConverter_dummy.obj Synth.obj \ + Tables.obj TVA.obj TVF.obj TVP.obj sha1.obj c_interface.obj +endif + +ifeq ($(VNC), y) +OPTS += -DUSE_VNC +RFLAGS += -DUSE_VNC + ifneq ($(VNC_PATH), ) + OPTS += -I$(VNC_PATH)\INCLUDE + VNCLIB := -L$(VNC_PATH)\LIB + endif +VNCLIB += -lvncserver +VNCOBJ := vnc.obj vnc_keymap.obj +endif + +ifeq ($(RDP), y) +OPTS += -DUSE_RDP +RFLAGS += -DUSE_RDP + ifneq ($(RDP_PATH), ) + OPTS += -I$(RDP_PATH)\INCLUDE + RDPLIB := -L$(RDP_PATH)\LIB + endif +RDPLIB += -lrdp +RDPOBJ := rdp.obj +endif + +# Options for the DEV branch. +ifeq ($(DEV_BRANCH), y) +OPTS += -DDEV_BRANCH +DEVBROBJ := + +ifeq ($(CIRRUS), y) +OPTS += -DUSE_CIRRUS +DEVBROBJ += vid_cl_gd.obj vid_cl_gd_blit.obj vid_cl_ramdac.obj +endif + +ifeq ($(NE1000), y) +OPTS += -DUSE_NE1000 +endif + +ifeq ($(NV_RIVA), y) +OPTS += -DUSE_RIVA +DEVBROBJ += vid_nv_riva128.obj +endif + +ifeq ($(PAS16), y) +OPTS += -DUSE_PAS16 +DEVBROBJ += snd_pas16.obj +endif + +endif + + +# Options for works-in-progress. +ifndef SERIAL +SERIAL := serial.obj +endif + + +# Final versions of the toolchain flags. +CFLAGS := -Iwin/msvs $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \ + $(AFLAGS) -W4 -Gs +CXXFLAGS := -Iwin/msvs $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \ + $(AFLAGS) -fno-strict-aliasing -fvisibility=hidden \ + -Wall -Wundef -fvisibility-inlines-hidden \ + -Wunused-parameter -Wno-ctor-dtor-privacy \ + -Woverloaded-virtual + + +######################################################################### +# Create the (final) list of objects to build. # +######################################################################### +MAINOBJ := pc.obj config.obj random.obj timer.obj io.obj dma.obj nmi.obj pic.obj \ + pit.obj ppi.obj pci.obj mca.obj mcr.obj mem.obj memregs.obj rom.obj \ + device.obj nvr.obj nvr_at.obj nvr_ps2.obj $(VNCOBJ) $(RDPOBJ) \ + intel.obj intel_flash.obj intel_piix.obj intel_piix4.obj intel_sio.obj + +CPUOBJ := cpu.obj cpu_table.obj \ + 808x.obj 386.obj x86seg.obj x87.obj \ + 386_dynarec.obj $(DYNARECOBJ) + +MCHOBJ := machine.obj machine_table.obj \ + m_amstrad.obj m_europc.obj m_europc_hdc.obj \ + m_olivetti_m24.obj m_tandy.obj \ + m_xt.obj m_xt_compaq.obj m_xt_laserxt.obj \ + m_at.obj m_at_ali1429.obj m_at_commodore.obj \ + m_at_neat.obj m_at_headland.obj \ + m_at_opti495.obj m_at_scat.obj \ + m_at_compaq.obj m_at_wd76c10.obj \ + m_at_sis_85c471.obj m_at_sis_85c496.obj \ + m_at_430lx_nx.obj m_at_430fx.obj \ + m_at_430hx.obj m_at_430vx.obj \ + m_at_440fx.obj \ + m_pcjr.obj m_ps1.obj m_ps2_isa.obj m_ps2_mca.obj + +DEVOBJ := bugger.obj lpt.obj $(SERIAL) \ + sio_detect.obj \ + sio_fdc37c66x.obj sio_fdc37c669.obj sio_fdc37c93x.obj \ + sio_pc87306.obj sio_w83877f.obj sio_um8669f.obj \ + keyboard.obj \ + keyboard_xt.obj keyboard_at.obj \ + gameport.obj \ + joystick_standard.obj joystick_ch_flightstick_pro.obj \ + joystick_sw_pad.obj joystick_tm_fcs.obj \ + mouse.obj \ + mouse_serial.obj mouse_ps2.obj mouse_bus.obj + +FDDOBJ := fdd.obj fdc.obj fdi2raw.obj \ + floppy.obj floppy_common.obj floppy_86f.obj \ + floppy_fdi.obj floppy_imd.obj floppy_img.obj floppy_json.obj \ + floppy_td0.obj + +HDDOBJ := hdd.obj \ + hdd_image.obj hdd_table.obj \ + hdc.obj \ + hdc_esdi_at.obj hdc_esdi_mca.obj hdc_ide.obj hdc_mfm_at.obj \ + hdc_mfm_xt.obj hdc_xtide.obj + +CDROMOBJ := cdrom.obj \ + cdrom_dosbox.obj cdrom_image.obj cdrom_null.obj + +ifeq ($(USB), y) +USBOBJ := usb.obj +endif + +SCSIOBJ := scsi.obj \ + scsi_bus.obj scsi_device.obj \ + scsi_disk.obj \ + scsi_x54x.obj \ + scsi_buslogic.obj scsi_aha154x.obj \ + scsi_ncr5380.obj + +NETOBJ := network.obj \ + net_pcap.obj \ + net_slirp.obj \ + bootp.obj ip_icmp.obj misc.obj socket.obj tcp_timer.obj cksum.obj \ + ip_input.obj queue.obj tcp_input.obj debug.obj ip_output.obj \ + sbuf.obj tcp_output.obj udp.obj if.obj mbuf.obj slirp.obj tcp_subr.obj \ + net_ne2000.obj + +SNDOBJ := sound.obj \ + openal.obj \ + dbopl.obj nukedopl.obj \ + snd_resid.obj \ + convolve.obj convolve-sse.obj envelope.obj extfilt.obj \ + filter.obj pot.obj sid.obj voice.obj wave6581__ST.obj \ + wave6581_P_T.obj wave6581_PS_.obj wave6581_PST.obj \ + wave8580__ST.obj wave8580_P_T.obj wave8580_PS_.obj \ + wave8580_PST.obj wave.obj \ + midi.obj $(FSYNTHOBJ) $(MUNTOBJ) \ + midi_system.obj \ + snd_speaker.obj \ + snd_pssj.obj \ + snd_lpt_dac.obj snd_lpt_dss.obj \ + snd_adlib.obj snd_adlibgold.obj snd_ad1848.obj snd_audiopci.obj \ + snd_sb.obj snd_sb_dsp.obj snd_cms.obj snd_dbopl.obj \ + snd_emu8k.obj snd_gus.obj snd_opl.obj \ + snd_mpu401.obj \ + snd_sn76489.obj snd_ssi2001.obj snd_wss.obj \ + snd_ym7128.obj + +VIDOBJ := video.obj \ + vid_table.obj \ + vid_cga.obj vid_cga_comp.obj vid_mda.obj \ + vid_ega.obj vid_ega_render.obj \ + vid_vga.obj vid_svga.obj vid_svga_render.obj \ + vid_hercules.obj vid_herculesplus.obj vid_incolor.obj \ + vid_colorplus.obj \ + vid_genius.obj \ + vid_s3.obj vid_s3_virge.obj \ + vid_et4000.obj vid_et4000w32.obj vid_icd2061.obj \ + vid_oti067.obj \ + vid_paradise.obj \ + vid_tvga.obj vid_tgui9440.obj vid_tkd8001_ramdac.obj \ + vid_ati_eeprom.obj vid_ati18800.obj vid_ati28800.obj \ + vid_ati68860_ramdac.obj vid_ati_mach64.obj \ + vid_ics2595.obj \ + vid_sc1502x_ramdac.obj \ + vid_sdac_ramdac.obj \ + vid_stg_ramdac.obj \ + vid_ti_cf62011.obj \ + vid_wy700.obj \ + vid_voodoo.obj + +PLATOBJ := win.obj \ + win_crashdump.obj win_dynld.obj win_thread.obj $(WSERIAL) \ + win_cdrom.obj win_cdrom_ioctl.obj win_keyboard.obj \ + win_mouse.obj win_joystick.obj win_midi.obj + +OBJ := $(MAINOBJ) $(CPUOBJ) $(MCHOBJ) $(DEVOBJ) \ + $(FDDOBJ) $(CDROMOBJ) $(HDDOBJ) \ + $(USBOBJ) $(NETOBJ) $(SCSIOBJ) $(SNDOBJ) $(VIDOBJ) \ + $(PLATOBJ) $(UIOBJ) $(DEVBROBJ) +ifdef EXOBJ +OBJ += $(EXOBJ) +endif + +LZFOBJ := lzf_c.obj lzf_d.obj + +LIBS := -mwindows \ + -lopenal.dll -lopelal \ + -lddraw -ldinput8 -ldxguid -ld3d9 -ld3dx9 \ + -lcomctl32 -lwinmm +ifeq ($(VNC), y) +LIBS += $(VNCLIB) -lws2_32 -lz +endif +ifeq ($(RDP), y) +LIBS += $(RDPLIB) +endif +ifneq ($(WX), n) +LIBS += $(WX_LIBS) -lz -lm +endif +LIBS += -lkernel32 -lwsock32 -liphlpapi -lpsapi +LIBS += -lpthread -static -lstdc++ -lgcc +LIBS += -Wl,--large-address-aware + + +# Build module rules. +ifeq ($(AUTODEP), y) +%.obj: %.c + @echo $< + @$(CC) $(CFLAGS) $(DEPS) -c $< + +%.obj: %.cc + @echo $< + @$(CPP) $(CXXFLAGS) $(DEPS) -c $< + +%.obj: %.cpp + @echo $< + @$(CPP) $(CXXFLAGS) $(DEPS) -c $< +else +%.obj: %.c + @echo $< + @$(CC) $(CFLAGS) -c $< + +%.obj: %.cc + @echo $< + @$(CPP) $(CXXFLAGS) -c $< + +%.obj: %.cpp + @echo $< + @$(CPP) $(CXXFLAGS) -c $< + +%.d: %.c $(wildcard $*.d) + @echo $< + @$(CC) $(CFLAGS) $(DEPS) -E $< >NUL + +%.d: %.cc $(wildcard $*.d) + @echo $< + @$(CPP) $(CXXFLAGS) $(DEPS) -E $< >NUL + +%.d: %.cpp $(wildcard $*.d) + @echo $< + @$(CPP) $(CXXFLAGS) $(DEPS) -E $< >NUL +endif + + +all: $(PROG).exe pcap_if.exe + + +86Box.res: 86Box.rc + @echo Processing $< + @$(RC) $(RFLAGS) $(EXTRAS) -r $< + +$(PROG).exe: $(OBJ) $(LZFOBJ) 86Box.res + @echo Linking $(PROG).exe .. + @$(LD) -OUT:$(PROG) $(OBJ) $(LZFOBJ) 86Box.res $(LIBS) + +pcap_if.res: pcap_if.rc + @echo Processing $< + @$(RC) $(RFLAGS) $(EXTRAS) -r $< + +pcap_if.exe: pcap_if.obj win_dynld.obj pcap_if.res + @echo Linking pcap_if.exe .. + @$(LD) -OUT:pcap_if pcap_if.obj win_dynld.obj pcap_if.res + +hello.exe: hello.obj + $(CXX) $(LDFLAGS) -o hello.exe hello.obj $(WXLIBS) $(LIBS) + + +clean: + @echo Cleaning objects.. + @-rm -f *.obj 2>NUL + @-rm -f *.res 2>NUL + +clobber: clean + @echo Cleaning executables.. + @-rm -f *.d 2>NUL + @-rm -f *.exe 2>NUL +# @-rm -f $(DEPFILE) 2>NUL + +ifneq ($(AUTODEP), y) +depclean: + @-rm -f $(DEPFILE) 2>NUL + @echo Creating dependencies.. + @echo # Run "make depends" to re-create this file. >$(DEPFILE) + +depends: DEPOBJ=$(OBJ:%.obj=%.d) +depends: depclean $(OBJ:%.obj=%.d) + @-cat $(DEPOBJ) >>$(DEPFILE) + @-rm -f $(DEPOBJ) + +$(DEPFILE): +endif + + +# Module dependencies. +ifeq ($(AUTODEP), y) +#-include $(OBJ:%.obj=%.d) (better, but sloooowwwww) +-include *.d +else +include $(wildcard $(DEPFILE)) +endif + + +# End of Makefile.MSVS. diff --git a/src/win/Makefile.mingw b/src/win/Makefile.mingw index 9a0598f..e1fc767 100644 --- a/src/win/Makefile.mingw +++ b/src/win/Makefile.mingw @@ -8,7 +8,7 @@ # # Makefile for Win32 (MinGW32) environment. # -# Version: @(#)Makefile.mingw 1.0.1 2018/02/14 +# Version: @(#)Makefile.mingw 1.0.2 2018/02/22 # # Author: Fred N. van Kempen, # @@ -584,10 +584,6 @@ ifeq ($(AUTODEP), y) @echo $< @$(CC) $(CFLAGS) $(DEPS) -c $< -%.o: %.cc - @echo $< - @$(CPP) $(CXXFLAGS) $(DEPS) -c $< - %.o: %.cpp @echo $< @$(CPP) $(CXXFLAGS) $(DEPS) -c $< @@ -596,10 +592,6 @@ else @echo $< @$(CC) $(CFLAGS) -c $< -%.o: %.cc - @echo $< - @$(CPP) $(CXXFLAGS) -c $< - %.o: %.cpp @echo $< @$(CPP) $(CXXFLAGS) -c $< @@ -608,10 +600,6 @@ else @echo $< @$(CC) $(CFLAGS) $(DEPS) -E $< >NUL -%.d: %.cc $(wildcard $*.d) - @echo $< - @$(CPP) $(CXXFLAGS) $(DEPS) -E $< >NUL - %.d: %.cpp $(wildcard $*.d) @echo $< @$(CPP) $(CXXFLAGS) $(DEPS) -E $< >NUL diff --git a/src/win/win_settings.c b/src/win/win_settings.c index 842de4f..81649f3 100644 --- a/src/win/win_settings.c +++ b/src/win/win_settings.c @@ -8,7 +8,7 @@ * * Implementation of the Settings dialog. * - * Version: @(#)win_settings.c 1.0.3 2018/02/21 + * Version: @(#)win_settings.c 1.0.3 2018/02/22 * * Authors: Fred N. van Kempen, * Miran Grca,