The 86F handler now only allocates the track surface descriptor data if the inserted image is an 86F and such data is present in the image.
694 lines
14 KiB
Makefile
694 lines
14 KiB
Makefile
#
|
|
# 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 Win32 (MinGW32) environment.
|
|
#
|
|
# Version: @(#)Makefile.mingw 1.0.113 2018/03/18
|
|
#
|
|
# Authors: Miran Grca, <mgrca8@gmail.com>
|
|
# Fred N. van Kempen, <decwiz@yahoo.com>
|
|
#
|
|
|
|
# Various compile-time options.
|
|
ifndef STUFF
|
|
STUFF :=
|
|
endif
|
|
|
|
# Add feature selections here.
|
|
ifndef EXTRAS
|
|
EXTRAS :=
|
|
endif
|
|
|
|
ifndef DEV_BUILD
|
|
DEV_BUILD := n
|
|
endif
|
|
|
|
ifeq ($(DEV_BUILD), y)
|
|
ifndef DEBUG
|
|
DEBUG := y
|
|
endif
|
|
ifndef DEV_BRANCH
|
|
DEV_BRANCH := y
|
|
endif
|
|
ifndef AMD_K
|
|
AMD_K := y
|
|
endif
|
|
ifndef CRASHDUMP
|
|
CRASHDUMP := y
|
|
endif
|
|
ifndef GREENB
|
|
GREENB := y
|
|
endif
|
|
ifndef I686
|
|
I686 := y
|
|
endif
|
|
ifndef LASERXT
|
|
LASERXT := y
|
|
endif
|
|
ifndef MRTHOR
|
|
MRTHOR := y
|
|
endif
|
|
ifndef NV_RIVA
|
|
NV_RIVA := y
|
|
endif
|
|
ifndef PAS16
|
|
PAS16 := y
|
|
endif
|
|
ifndef PORTABLE3
|
|
PORTABLE3 := y
|
|
endif
|
|
ifndef STEALTH32
|
|
STEALTH32 := y
|
|
endif
|
|
ifndef VNC
|
|
VNC := y
|
|
endif
|
|
ifndef XL24
|
|
XL24 := y
|
|
endif
|
|
else
|
|
ifndef DEBUG
|
|
DEBUG := n
|
|
endif
|
|
ifndef DEV_BRANCH
|
|
DEV_BRANCH := n
|
|
endif
|
|
ifndef AMD_K
|
|
AMD_K := n
|
|
endif
|
|
ifndef CRASHDUMP
|
|
CRASHDUMP := n
|
|
endif
|
|
ifndef GREENB
|
|
GREENB := n
|
|
endif
|
|
ifndef I686
|
|
I686 := n
|
|
endif
|
|
ifndef LASERXT
|
|
LASERXT := n
|
|
endif
|
|
ifndef MRTHOR
|
|
MRTHOR := n
|
|
endif
|
|
ifndef NV_RIVA
|
|
NV_RIVA := n
|
|
endif
|
|
ifndef PAS16
|
|
PAS16 := n
|
|
endif
|
|
ifndef PORTABLE3
|
|
PORTABLE3 := n
|
|
endif
|
|
ifndef STEALTH32
|
|
STEALTH32 := n
|
|
endif
|
|
ifndef VNC
|
|
VNC := n
|
|
endif
|
|
ifndef XL24
|
|
XL24 := n
|
|
endif
|
|
endif
|
|
|
|
# Defaults for several build options (possibly defined in a chained file.)
|
|
ifndef AUTODEP
|
|
AUTODEP := 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 RDP
|
|
RDP := n
|
|
endif
|
|
ifndef OPENAL
|
|
OPENAL := y
|
|
endif
|
|
ifndef FLUIDSYNTH
|
|
FLUIDSYNTH := y
|
|
endif
|
|
ifndef MUNT
|
|
MUNT := y
|
|
endif
|
|
ifndef DYNAREC
|
|
DYNAREC := y
|
|
endif
|
|
|
|
|
|
# Name of the executable.
|
|
ifndef PROG
|
|
ifneq ($(WX), n)
|
|
PROG := Wx86Box
|
|
else
|
|
PROG := 86Box
|
|
endif
|
|
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
|
|
|
|
|
|
#########################################################################
|
|
# 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 floppy/lzf network network/slirp win
|
|
ifeq ($(X64), y)
|
|
CPP := g++ -m64
|
|
CC := gcc -m64
|
|
else
|
|
CPP := g++ -m32
|
|
CC := gcc -m32
|
|
endif
|
|
WINDRES := windres
|
|
DEPS = -MMD -MF $*.d -c $<
|
|
DEPFILE := win/.depends
|
|
|
|
# Set up the correct toolchain flags.
|
|
OPTS := $(EXTRAS) $(STUFF)
|
|
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 += -ggdb -DDEBUG
|
|
AOPTIM :=
|
|
ifndef COPTIM
|
|
COPTIM := -Og
|
|
endif
|
|
else
|
|
ifeq ($(OPTIM), y)
|
|
AOPTIM := -mtune=native
|
|
ifndef COPTIM
|
|
COPTIM := -O3 -flto
|
|
endif
|
|
else
|
|
ifndef COPTIM
|
|
COPTIM := -O3
|
|
endif
|
|
endif
|
|
endif
|
|
AFLAGS := -msse2 -mfpmath=sse
|
|
RFLAGS := --input-format=rc -O coff
|
|
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.o
|
|
CGOPS := codegen_ops_x86-64.h
|
|
VCG := vid_voodoo_codegen_x86-64.h
|
|
else
|
|
PLATCG := codegen_x86.o
|
|
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.o \
|
|
codegen.o \
|
|
codegen_ops.o \
|
|
codegen_timing_common.o codegen_timing_486.o \
|
|
codegen_timing_686.o codegen_timing_pentium.o \
|
|
codegen_timing_winchip.o $(PLATCG)
|
|
endif
|
|
|
|
ifneq ($(WX), n)
|
|
OPTS += -DUSE_WX $(WX_FLAGS)
|
|
LIBS += $(WX_LIBS)
|
|
UIOBJ := wx_main.o wx_ui.o wx_stbar.o wx_render.o
|
|
else
|
|
UIOBJ := win_ui.o \
|
|
win_ddraw.o win_d3d.o \
|
|
win_dialog.o win_about.o win_status.o win_stbar.o \
|
|
win_settings.o win_devconf.o win_snd_gain.o \
|
|
win_new_floppy.o win_jsconf.o
|
|
endif
|
|
|
|
ifeq ($(OPENAL), y)
|
|
OPTS += -DUSE_OPENAL
|
|
endif
|
|
ifeq ($(FLUIDSYNTH), y)
|
|
OPTS += -DUSE_FLUIDSYNTH
|
|
FSYNTHOBJ := midi_fluidsynth.o
|
|
endif
|
|
|
|
ifeq ($(MUNT), y)
|
|
OPTS += -DUSE_MUNT
|
|
MUNTOBJ := midi_mt32.o \
|
|
Analog.o BReverbModel.o File.o FileStream.o LA32Ramp.o \
|
|
LA32FloatWaveGenerator.o LA32WaveGenerator.o \
|
|
MidiStreamParser.o Part.o Partial.o PartialManager.o \
|
|
Poly.o ROMInfo.o SampleRateConverter_dummy.o Synth.o \
|
|
Tables.o TVA.o TVF.o TVP.o sha1.o c_interface.o
|
|
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.o vnc_keymap.o
|
|
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.o
|
|
endif
|
|
|
|
# Options for the DEV branch.
|
|
ifeq ($(DEV_BRANCH), y)
|
|
OPTS += -DDEV_BRANCH
|
|
DEVBROBJ :=
|
|
|
|
ifeq ($(AMD_K), y)
|
|
OPTS += -DUSE_AMD_K
|
|
endif
|
|
|
|
ifeq ($(CRASHDUMPOBJ), y)
|
|
OPTS += -DUSE_CRASHDUMP
|
|
DEVBROBJ += win_crashdump.o
|
|
endif
|
|
|
|
ifeq ($(GREENB), y)
|
|
OPTS += -DUSE_GREENB
|
|
DEVBROBJ += m_at_4gpv31.o
|
|
endif
|
|
|
|
ifeq ($(I686), y)
|
|
OPTS += -DUSE_I686
|
|
DEVBROBJ += m_at_440fx.o
|
|
endif
|
|
|
|
ifeq ($(LASERXT), y)
|
|
OPTS += -DUSE_LASERXT
|
|
DEVBROBJ += m_xt_laserxt.o
|
|
endif
|
|
|
|
ifeq ($(MRTHOR), y)
|
|
OPTS += -DUSE_MRTHOR
|
|
endif
|
|
|
|
ifeq ($(NV_RIVA), y)
|
|
OPTS += -DUSE_RIVA
|
|
DEVBROBJ += vid_nv_riva128.o
|
|
endif
|
|
|
|
ifeq ($(PAS16), y)
|
|
OPTS += -DUSE_PAS16
|
|
DEVBROBJ += snd_pas16.o
|
|
endif
|
|
|
|
ifeq ($(PORTABLE3), y)
|
|
OPTS += -DUSE_PORTABLE3
|
|
endif
|
|
|
|
ifeq ($(STEALTH32), y)
|
|
OPTS += -DUSE_STEALTH32
|
|
DEVBROBJ += vid_icd2061.o
|
|
endif
|
|
|
|
ifeq ($(XL24), y)
|
|
OPTS += -DUSE_XL24
|
|
endif
|
|
|
|
endif
|
|
|
|
|
|
# Options for works-in-progress.
|
|
ifndef SERIAL
|
|
SERIAL := serial.o
|
|
endif
|
|
|
|
|
|
# Final versions of the toolchain flags.
|
|
CFLAGS := $(WX_FLAGS) $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \
|
|
$(AFLAGS) -fomit-frame-pointer -mstackrealign -Wall \
|
|
-fno-strict-aliasing
|
|
CFLAGS := $(CFLAGS)
|
|
|
|
|
|
#########################################################################
|
|
# Create the (final) list of objects to build. #
|
|
#########################################################################
|
|
MAINOBJ := pc.o config.o random.o timer.o io.o dma.o nmi.o pic.o \
|
|
pit.o ppi.o pci.o mca.o mcr.o mem.o memregs.o rom.o \
|
|
device.o nvr.o nvr_at.o nvr_ps2.o $(VNCOBJ) $(RDPOBJ)
|
|
|
|
INTELOBJ := intel.o \
|
|
intel_flash.o \
|
|
intel_sio.o intel_piix.o
|
|
|
|
CPUOBJ := cpu.o cpu_table.o \
|
|
808x.o 386.o 386_dynarec.o \
|
|
x86seg.o x87.o \
|
|
$(DYNARECOBJ)
|
|
|
|
MCHOBJ := machine.o machine_table.o \
|
|
m_xt.o m_xt_compaq.o \
|
|
m_xt_t1000.o m_xt_t1000_vid.o \
|
|
m_xt_xi8088.o \
|
|
m_pcjr.o \
|
|
m_amstrad.o \
|
|
m_europc.o m_europc_hdc.o \
|
|
m_olivetti_m24.o m_tandy.o \
|
|
m_at.o \
|
|
m_at_ali1429.o m_at_commodore.o \
|
|
m_at_neat.o m_at_headland.o \
|
|
m_at_t3100e.o m_at_t3100e_vid.o \
|
|
m_ps1.o \
|
|
m_ps2_isa.o m_ps2_mca.o \
|
|
m_at_opti495.o m_at_scat.o \
|
|
m_at_compaq.o m_at_wd76c10.o \
|
|
m_at_sis_85c471.o m_at_sis_85c496.o \
|
|
m_at_430lx_nx.o m_at_430fx.o \
|
|
m_at_430hx.o m_at_430vx.o
|
|
|
|
DEVOBJ := bugger.o lpt.o $(SERIAL) \
|
|
sio_fdc37c66x.o sio_fdc37c669.o sio_fdc37c93x.o \
|
|
sio_pc87306.o sio_w83877f.o sio_um8669f.o \
|
|
keyboard.o \
|
|
keyboard_xt.o keyboard_at.o \
|
|
gameport.o \
|
|
joystick_standard.o joystick_ch_flightstick_pro.o \
|
|
joystick_sw_pad.o joystick_tm_fcs.o \
|
|
mouse.o \
|
|
mouse_bus.o \
|
|
mouse_serial.o mouse_ps2.o
|
|
|
|
FDDOBJ := fdd.o fdc.o fdi2raw.o \
|
|
fdd_common.o fdd_86f.o \
|
|
fdd_fdi.o fdd_imd.o fdd_img.o fdd_json.o \
|
|
fdd_td0.o
|
|
|
|
HDDOBJ := hdd.o \
|
|
hdd_image.o hdd_table.o \
|
|
hdc.o \
|
|
hdc_mfm_xt.o hdc_xtide.o \
|
|
hdc_mfm_at.o \
|
|
hdc_esdi_at.o hdc_esdi_mca.o \
|
|
hdc_ide.o
|
|
|
|
CDROMOBJ := cdrom.o \
|
|
cdrom_dosbox.o cdrom_image.o cdrom_null.o
|
|
|
|
ZIPOBJ := zip.o
|
|
|
|
ifeq ($(USB), y)
|
|
USBOBJ := usb.o
|
|
endif
|
|
|
|
SCSIOBJ := scsi.o \
|
|
scsi_bus.o scsi_device.o \
|
|
scsi_disk.o \
|
|
scsi_x54x.o \
|
|
scsi_aha154x.o scsi_buslogic.o \
|
|
scsi_ncr5380.o scsi_ncr53c810.o
|
|
|
|
NETOBJ := network.o \
|
|
net_pcap.o \
|
|
net_slirp.o \
|
|
bootp.o ip_icmp.o misc.o socket.o tcp_timer.o cksum.o \
|
|
ip_input.o queue.o tcp_input.o debug.o ip_output.o \
|
|
sbuf.o tcp_output.o udp.o if.o mbuf.o slirp.o tcp_subr.o \
|
|
net_ne2000.o
|
|
|
|
SNDOBJ := sound.o \
|
|
openal.o \
|
|
snd_opl.o snd_dbopl.o \
|
|
dbopl.o nukedopl.o \
|
|
snd_resid.o \
|
|
convolve.o convolve-sse.o envelope.o extfilt.o \
|
|
filter.o pot.o sid.o voice.o wave6581__ST.o \
|
|
wave6581_P_T.o wave6581_PS_.o wave6581_PST.o \
|
|
wave8580__ST.o wave8580_P_T.o wave8580_PS_.o \
|
|
wave8580_PST.o wave.o \
|
|
midi.o midi_system.o \
|
|
snd_speaker.o \
|
|
snd_pssj.o \
|
|
snd_lpt_dac.o snd_lpt_dss.o \
|
|
snd_adlib.o snd_adlibgold.o snd_ad1848.o snd_audiopci.o \
|
|
snd_cms.o \
|
|
snd_gus.o \
|
|
snd_sb.o snd_sb_dsp.o \
|
|
snd_emu8k.o snd_mpu401.o \
|
|
snd_sn76489.o snd_ssi2001.o \
|
|
snd_wss.o \
|
|
snd_ym7128.o
|
|
|
|
VIDOBJ := video.o \
|
|
vid_table.o \
|
|
vid_cga.o vid_cga_comp.o \
|
|
vid_compaq_cga.o \
|
|
vid_mda.o \
|
|
vid_hercules.o vid_herculesplus.o vid_incolor.o \
|
|
vid_colorplus.o \
|
|
vid_genius.o \
|
|
vid_wy700.o \
|
|
vid_ega.o vid_ega_render.o \
|
|
vid_svga.o vid_svga_render.o \
|
|
vid_vga.o \
|
|
vid_ati_eeprom.o \
|
|
vid_ati18800.o vid_ati28800.o \
|
|
vid_ati_mach64.o vid_ati68860_ramdac.o \
|
|
vid_ics2595.o \
|
|
vid_cl54xx.o \
|
|
vid_et4000.o vid_sc1502x_ramdac.o \
|
|
vid_et4000w32.o vid_stg_ramdac.o \
|
|
vid_oak_oti.o \
|
|
vid_paradise.o \
|
|
vid_ti_cf62011.o \
|
|
vid_tvga.o \
|
|
vid_tgui9440.o vid_tkd8001_ramdac.o \
|
|
vid_s3.o vid_s3_virge.o \
|
|
vid_sdac_ramdac.o \
|
|
vid_voodoo.o
|
|
|
|
PLATOBJ := win.o \
|
|
win_dynld.o win_thread.o \
|
|
win_cdrom.o win_cdrom_ioctl.o win_keyboard.o \
|
|
win_mouse.o win_joystick.o win_midi.o
|
|
|
|
OBJ := $(MAINOBJ) $(INTELOBJ) $(CPUOBJ) $(MCHOBJ) $(DEVOBJ) \
|
|
$(FDDOBJ) $(CDROMOBJ) $(ZIPOBJ) $(HDDOBJ) \
|
|
$(USBOBJ) $(NETOBJ) $(SCSIOBJ) $(SNDOBJ) $(VIDOBJ) \
|
|
$(PLATOBJ) $(UIOBJ) $(FSYNTHOBJ) $(MUNTOBJ) \
|
|
$(DEVBROBJ)
|
|
ifdef EXOBJ
|
|
OBJ += $(EXOBJ)
|
|
endif
|
|
|
|
LZFOBJ := lzf_c.o lzf_d.o
|
|
|
|
LIBS := -mwindows \
|
|
-lopenal.dll \
|
|
-lddraw -ldinput8 -ldxguid -ld3d9 -ld3dx9 \
|
|
-lcomctl32 -lwinmm
|
|
ifeq ($(VNC), y)
|
|
LIBS += $(VNCLIB) -lws2_32
|
|
endif
|
|
ifeq ($(RDP), y)
|
|
LIBS += $(RDPLIB)
|
|
endif
|
|
ifneq ($(WX), n)
|
|
LIBS += $(WX_LIBS) -lm
|
|
endif
|
|
LIBS += -lpng -lz -lkernel32 -lwsock32 -liphlpapi -lpsapi
|
|
LIBS += -lpthread -static -lstdc++ -lgcc
|
|
ifneq ($(X64), y)
|
|
LIBS += -Wl,--large-address-aware
|
|
endif
|
|
|
|
|
|
# Build module rules.
|
|
ifeq ($(AUTODEP), y)
|
|
%.o: %.c
|
|
@echo $<
|
|
@$(CC) $(CFLAGS) $(DEPS) -c $<
|
|
|
|
%.o: %.cc
|
|
@echo $<
|
|
@$(CPP) $(CXXFLAGS) $(DEPS) -c $<
|
|
|
|
%.o: %.cpp
|
|
@echo $<
|
|
@$(CPP) $(CXXFLAGS) $(DEPS) -c $<
|
|
else
|
|
%.o: %.c
|
|
@echo $<
|
|
@$(CC) $(CFLAGS) -c $<
|
|
|
|
%.o: %.cc
|
|
@echo $<
|
|
@$(CPP) $(CXXFLAGS) -c $<
|
|
|
|
%.o: %.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 $<
|
|
@$(WINDRES) $(RFLAGS) $(EXTRAS) -i $< -o 86Box.res
|
|
|
|
$(PROG).exe: $(OBJ) $(LZFOBJ) 86Box.res
|
|
@echo Linking $(PROG).exe ..
|
|
@$(CC) -o $(PROG).exe $(OBJ) $(LZFOBJ) 86Box.res $(LIBS)
|
|
ifneq ($(DEBUG), y)
|
|
@strip $(PROG).exe
|
|
endif
|
|
|
|
pcap_if.res: pcap_if.rc
|
|
@echo Processing $<
|
|
@$(WINDRES) $(RFLAGS) -i $< -o pcap_if.res
|
|
|
|
pcap_if.exe: pcap_if.o win_dynld.o pcap_if.res
|
|
@echo Linking pcap_if.exe ..
|
|
@$(CC) -o pcap_if.exe pcap_if.o win_dynld.o pcap_if.res
|
|
ifneq ($(DEBUG), y)
|
|
@strip pcap_if.exe
|
|
endif
|
|
|
|
hello.exe: hello.o
|
|
$(CXX) $(LDFLAGS) -o hello.exe hello.o $(WXLIBS) $(LIBS)
|
|
ifneq ($(DEBUG), y)
|
|
@strip hello.exe
|
|
endif
|
|
|
|
|
|
clean:
|
|
@echo Cleaning objects..
|
|
@-rm -f *.o 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:%.o=%.d)
|
|
depends: depclean $(OBJ:%.o=%.d)
|
|
@-cat $(DEPOBJ) >>$(DEPFILE)
|
|
@-rm -f $(DEPOBJ)
|
|
|
|
$(DEPFILE):
|
|
endif
|
|
|
|
|
|
# Module dependencies.
|
|
ifeq ($(AUTODEP), y)
|
|
#-include $(OBJ:%.o=%.d) (better, but sloooowwwww)
|
|
-include *.d
|
|
else
|
|
include $(wildcard $(DEPFILE))
|
|
endif
|
|
|
|
|
|
# End of Makefile.mingw.
|