2017-05-05 01:49:42 +02:00
|
|
|
#
|
|
|
|
|
# 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.
|
|
|
|
|
#
|
2017-06-04 02:11:19 -04:00
|
|
|
# Modified Makefile for Win32 (MinGW32) environment.
|
2017-05-05 01:49:42 +02:00
|
|
|
#
|
2017-10-14 07:56:56 +02:00
|
|
|
# Version: @(#)Makefile.mingw 1.0.60 2017/10/14
|
2017-05-05 01:49:42 +02:00
|
|
|
#
|
2017-06-03 16:34:40 +02:00
|
|
|
# Authors: Miran Grca, <mgrca8@gmail.com>
|
2017-05-05 01:49:42 +02:00
|
|
|
# Fred N. van Kempen, <decwiz@yahoo.com>
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
# Name of the executable.
|
2017-05-24 00:27:42 -04:00
|
|
|
ifndef PROG
|
2017-10-08 19:14:46 -04:00
|
|
|
PROG := 86Box
|
2017-05-24 00:27:42 -04:00
|
|
|
endif
|
2017-05-05 01:49:42 +02:00
|
|
|
|
|
|
|
|
# Various compile-time options.
|
2017-08-24 01:14:39 -04:00
|
|
|
# -DROM_TRACE=0xc800 traces ROM access from segment C800
|
2017-08-22 02:12:45 -04:00
|
|
|
# -DIO_TRACE=0x66 traces I/O on port 0x66
|
2017-10-08 19:14:46 -04:00
|
|
|
STUFF :=
|
2017-05-05 01:49:42 +02:00
|
|
|
|
|
|
|
|
# Add feature selections here.
|
2017-05-31 01:22:52 -04:00
|
|
|
# -DANSI_CFG forces the config file to ANSI encoding.
|
2017-06-04 02:11:19 -04:00
|
|
|
# -DENABLE_VRAM_DUMP enables Video Ram dumping.
|
|
|
|
|
# -DENABLE_LOG_BREAKPOINT enables extra logging.
|
2017-08-27 21:46:51 -04:00
|
|
|
# -DENABLE_SCSI_BIOS_COMMAND_LOG=n enables extra logging.
|
|
|
|
|
# -DENABLE_AHA154X_LOG=n enables extra logging.
|
|
|
|
|
# -DENABLE_BUSLOGIC_LOG=n enables extra logging.
|
2017-06-04 02:11:19 -04:00
|
|
|
# -DENABLE_CDROM_LOG enables extra logging.
|
|
|
|
|
# -DENABLE_D86F_LOG enables extra logging.
|
|
|
|
|
# -DENABLE_FDC_LOG enables extra logging.
|
2017-09-23 21:12:26 -04:00
|
|
|
# -DENABLE_HDD_IMAGE_LOG enables extra logging.
|
2017-06-04 02:11:19 -04:00
|
|
|
# -DENABLE_IDE_LOG enables extra logging.
|
|
|
|
|
# -DENABLE_SERIAL_LOG enables extra logging.
|
|
|
|
|
# -DENABLE_NIC_LOG enables extra logging.
|
2017-09-28 20:10:15 -04:00
|
|
|
# -DENABLE_KEYBOARD_LOG enables extra logging.
|
2017-05-24 00:27:42 -04:00
|
|
|
ifndef EXTRAS
|
2017-10-08 19:14:46 -04:00
|
|
|
EXTRAS :=
|
2017-05-24 00:27:42 -04:00
|
|
|
endif
|
2017-05-05 01:49:42 +02:00
|
|
|
|
2017-06-14 00:55:11 -04:00
|
|
|
# Defaults for several build options (possibly defined in a chained file.)
|
2017-09-25 20:46:14 -04:00
|
|
|
ifndef AUTODEP
|
2017-10-08 19:14:46 -04:00
|
|
|
AUTODEP := n
|
2017-09-25 20:46:14 -04:00
|
|
|
endif
|
2017-05-24 00:27:42 -04:00
|
|
|
ifndef DEBUG
|
2017-10-08 19:14:46 -04:00
|
|
|
DEBUG := n
|
2017-05-24 00:27:42 -04:00
|
|
|
endif
|
|
|
|
|
ifndef OPTIM
|
2017-10-08 19:14:46 -04:00
|
|
|
OPTIM := n
|
2017-05-24 00:27:42 -04:00
|
|
|
endif
|
2017-06-03 14:24:19 +02:00
|
|
|
ifndef RELEASE
|
2017-10-08 19:14:46 -04:00
|
|
|
RELEASE := n
|
2017-06-03 14:24:19 +02:00
|
|
|
endif
|
2017-06-04 02:14:27 +02:00
|
|
|
ifndef USB
|
2017-10-08 19:14:46 -04:00
|
|
|
USB := n
|
2017-05-24 00:27:42 -04:00
|
|
|
endif
|
2017-10-14 00:49:08 -04:00
|
|
|
ifndef VNC
|
|
|
|
|
VNC := n
|
|
|
|
|
endif
|
|
|
|
|
ifndef RDP
|
|
|
|
|
RDP := n
|
|
|
|
|
endif
|
2017-10-01 03:43:56 +02:00
|
|
|
ifndef DEV_BUILD
|
2017-10-08 19:14:46 -04:00
|
|
|
DEV_BUILD := n
|
2017-10-01 03:43:56 +02:00
|
|
|
endif
|
2017-07-27 14:48:43 -05:00
|
|
|
ifndef DEV_BRANCH
|
2017-10-08 19:14:46 -04:00
|
|
|
DEV_BRANCH := n
|
2017-07-27 14:48:43 -05:00
|
|
|
endif
|
2017-08-27 00:58:44 +02:00
|
|
|
ifndef CIRRUS
|
2017-10-08 19:14:46 -04:00
|
|
|
CIRRUS := n
|
2017-08-27 00:58:44 +02:00
|
|
|
endif
|
2017-10-10 00:14:15 +02:00
|
|
|
ifndef NE1000
|
|
|
|
|
NE1000 := n
|
2017-10-08 05:04:38 +02:00
|
|
|
endif
|
2017-08-27 00:58:44 +02:00
|
|
|
ifndef NV_RIVA
|
2017-10-08 19:14:46 -04:00
|
|
|
NV_RIVA := n
|
2017-08-27 00:58:44 +02:00
|
|
|
endif
|
2017-08-08 22:51:47 -04:00
|
|
|
ifndef FLUIDSYNTH
|
2017-10-08 19:14:46 -04:00
|
|
|
FLUIDSYNTH := y
|
2017-08-08 22:51:47 -04:00
|
|
|
endif
|
2017-08-27 00:58:44 +02:00
|
|
|
ifndef MUNT
|
2017-10-08 19:14:46 -04:00
|
|
|
MUNT := y
|
2017-08-27 00:58:44 +02:00
|
|
|
endif
|
|
|
|
|
ifndef PAS16
|
2017-10-08 19:14:46 -04:00
|
|
|
PAS16 = n
|
2017-08-27 00:58:44 +02:00
|
|
|
endif
|
2017-05-24 00:27:42 -04:00
|
|
|
ifndef X64
|
2017-10-08 19:14:46 -04:00
|
|
|
X64 := n
|
2017-05-24 00:27:42 -04:00
|
|
|
endif
|
2017-05-18 01:57:16 -04:00
|
|
|
|
2017-10-01 03:43:56 +02:00
|
|
|
ifeq ($(DEV_BUILD), y)
|
2017-10-08 19:14:46 -04:00
|
|
|
DEV_BRANCH := y
|
|
|
|
|
CIRRUS := y
|
2017-10-10 00:14:15 +02:00
|
|
|
NE1000 := y
|
2017-10-08 19:14:46 -04:00
|
|
|
NV_RIVA := y
|
|
|
|
|
PAS16 := y
|
2017-10-14 07:56:56 +02:00
|
|
|
VNC := y
|
2017-10-01 03:43:56 +02:00
|
|
|
endif
|
|
|
|
|
|
2017-05-05 01:49:42 +02:00
|
|
|
|
|
|
|
|
#########################################################################
|
|
|
|
|
# Nothing should need changing from here on.. #
|
|
|
|
|
#########################################################################
|
2017-09-25 20:46:14 -04:00
|
|
|
VPATH := $(EXPATH) . cpu \
|
2017-10-02 02:15:35 -04:00
|
|
|
cdrom disk floppy game machine \
|
2017-09-25 20:46:14 -04:00
|
|
|
sound \
|
2017-10-02 02:15:35 -04:00
|
|
|
sound/munt sound/munt/c_interface sound/munt/sha1 \
|
|
|
|
|
sound/munt/srchelper \
|
|
|
|
|
sound/resid-fp \
|
2017-09-25 20:46:14 -04:00
|
|
|
scsi video lzf network network/slirp win
|
2017-06-14 00:55:11 -04:00
|
|
|
ifeq ($(X64), y)
|
2017-10-10 03:07:29 -04:00
|
|
|
CPP := g++ -m64
|
|
|
|
|
CC := gcc -m64
|
2017-06-14 00:55:11 -04:00
|
|
|
else
|
2017-10-10 03:07:29 -04:00
|
|
|
CPP := g++ -m32
|
|
|
|
|
CC := gcc -m32
|
2017-06-14 00:55:11 -04:00
|
|
|
endif
|
2017-10-10 03:07:29 -04:00
|
|
|
WINDRES := windres
|
2017-09-25 20:46:14 -04:00
|
|
|
DEPS = -MMD -MF $*.d -c $<
|
2017-05-05 01:49:42 +02:00
|
|
|
|
2017-09-25 04:31:20 -04:00
|
|
|
# Set up the correct toolchain flags.
|
2017-10-10 03:07:29 -04:00
|
|
|
OPTS := -DWIN32 $(EXTRAS) $(STUFF)
|
2017-09-04 01:52:29 -04:00
|
|
|
ifdef EXFLAGS
|
2017-09-25 04:31:20 -04:00
|
|
|
OPTS += $(EXFLAGS)
|
2017-09-04 01:52:29 -04:00
|
|
|
endif
|
2017-09-13 01:58:18 -04:00
|
|
|
ifdef EXINC
|
2017-09-25 04:31:20 -04:00
|
|
|
OPTS += -I$(EXINC)
|
2017-09-13 01:58:18 -04:00
|
|
|
endif
|
2017-05-06 17:48:33 +02:00
|
|
|
ifeq ($(X64), y)
|
2017-06-19 07:00:41 +02:00
|
|
|
ifeq ($(OPTIM), y)
|
2017-09-25 20:46:14 -04:00
|
|
|
DFLAGS := -march=native
|
2017-06-19 07:00:41 +02:00
|
|
|
else
|
2017-09-25 20:46:14 -04:00
|
|
|
DFLAGS :=
|
2017-06-19 07:00:41 +02:00
|
|
|
endif
|
2017-05-05 02:58:42 +02:00
|
|
|
else
|
2017-06-19 07:00:41 +02:00
|
|
|
ifeq ($(OPTIM), y)
|
2017-09-25 20:46:14 -04:00
|
|
|
DFLAGS := -march=native
|
2017-06-19 07:00:41 +02:00
|
|
|
else
|
2017-09-25 20:46:14 -04:00
|
|
|
DFLAGS := -march=i686
|
2017-06-19 07:00:41 +02:00
|
|
|
endif
|
2017-05-05 01:49:42 +02:00
|
|
|
endif
|
2017-06-14 00:55:11 -04:00
|
|
|
ifeq ($(DEBUG), y)
|
|
|
|
|
DFLAGS += -ggdb -DDEBUG
|
2017-09-25 20:46:14 -04:00
|
|
|
AOPTIM :=
|
2017-06-14 00:55:11 -04:00
|
|
|
ifndef COPTIM
|
2017-09-25 20:46:14 -04:00
|
|
|
COPTIM := -Og
|
2017-06-14 00:55:11 -04:00
|
|
|
endif
|
2017-05-06 17:48:33 +02:00
|
|
|
else
|
2017-06-14 00:55:11 -04:00
|
|
|
ifeq ($(OPTIM), y)
|
2017-09-25 20:46:14 -04:00
|
|
|
AOPTIM := -mtune=native
|
2017-06-14 00:55:11 -04:00
|
|
|
ifndef COPTIM
|
2017-09-25 20:46:14 -04:00
|
|
|
COPTIM := -O6
|
2017-06-14 00:55:11 -04:00
|
|
|
endif
|
|
|
|
|
else
|
|
|
|
|
ifndef COPTIM
|
2017-09-25 20:46:14 -04:00
|
|
|
COPTIM := -O3
|
2017-06-14 00:55:11 -04:00
|
|
|
endif
|
|
|
|
|
endif
|
2017-05-06 17:48:33 +02:00
|
|
|
endif
|
2017-09-25 20:46:14 -04:00
|
|
|
AFLAGS := -msse -msse2 -mfpmath=sse
|
|
|
|
|
CFLAGS := $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) $(AFLAGS) \
|
|
|
|
|
-fomit-frame-pointer -mstackrealign -Wall
|
|
|
|
|
RFLAGS := --input-format=rc -O coff
|
2017-05-07 04:56:34 +02:00
|
|
|
ifeq ($(RELEASE), y)
|
2017-06-14 00:55:11 -04:00
|
|
|
CFLAGS += -DRELEASE_BUILD
|
|
|
|
|
RFLAGS += -DRELEASE_BUILD
|
2017-05-07 04:56:34 +02:00
|
|
|
endif
|
2017-06-14 00:55:11 -04:00
|
|
|
ifeq ($(VRAMDUMP), y)
|
|
|
|
|
CFLAGS += -DENABLE_VRAM_DUMP
|
|
|
|
|
RFLAGS += -DENABLE_VRAM_DUMP
|
2017-05-07 04:56:34 +02:00
|
|
|
endif
|
2017-09-25 04:31:20 -04:00
|
|
|
ifeq ($(X64), y)
|
2017-09-25 20:46:14 -04:00
|
|
|
PLATCG := codegen_x86-64.o
|
|
|
|
|
CGOPS := codegen_ops_x86-64.h
|
|
|
|
|
VCG := vid_voodoo_codegen_x86-64.h
|
2017-09-25 04:31:20 -04:00
|
|
|
else
|
2017-09-25 20:46:14 -04:00
|
|
|
PLATCG := codegen_x86.o
|
|
|
|
|
CGOPS := codegen_ops_x86.h
|
|
|
|
|
VCG := vid_voodoo_codegen_x86.h
|
2017-09-25 04:31:20 -04:00
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Optional modules.
|
2017-08-08 22:51:47 -04:00
|
|
|
ifeq ($(FLUIDSYNTH), y)
|
|
|
|
|
CFLAGS += -DUSE_FLUIDSYNTH
|
2017-09-25 20:46:14 -04:00
|
|
|
FSYNTHOBJ := midi_fluidsynth.o
|
2017-08-08 22:51:47 -04:00
|
|
|
endif
|
2017-09-25 04:31:20 -04:00
|
|
|
|
2017-08-27 00:58:44 +02:00
|
|
|
ifeq ($(MUNT), y)
|
|
|
|
|
CFLAGS += -DUSE_MUNT
|
2017-09-25 20:46:14 -04:00
|
|
|
MUNTOBJ := midi_mt32.o \
|
2017-09-25 04:31:20 -04:00
|
|
|
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
|
2017-08-27 00:58:44 +02:00
|
|
|
endif
|
2017-09-25 04:31:20 -04:00
|
|
|
|
2017-10-14 00:49:08 -04:00
|
|
|
ifeq ($(VNC), y)
|
|
|
|
|
CFLAGS += -DUSE_VNC
|
|
|
|
|
RFLAGS += -DUSE_VNC
|
|
|
|
|
CFLAGS += -I$(VNC_PATH)\INCLUDE
|
|
|
|
|
VNCLIB := $(VNC_PATH)\LIB\libvncserver.a
|
|
|
|
|
VNCOBJ := win_vnc.o
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
ifeq ($(RDP), y)
|
|
|
|
|
CFLAGS += -DUSE_RDP
|
|
|
|
|
RFLAGS += -DUSE_RDP
|
|
|
|
|
CFLAGS += -I$(RDP_PATH)\INCLUDE
|
|
|
|
|
RDPLIB := $(RDP_PATH)\LIB\librdp.a
|
|
|
|
|
RDPOBJ := win_rdp.o
|
|
|
|
|
endif
|
|
|
|
|
|
2017-09-04 01:52:29 -04:00
|
|
|
# Options for the DEV branch.
|
2017-07-30 23:21:11 -05:00
|
|
|
ifeq ($(DEV_BRANCH), y)
|
|
|
|
|
CFLAGS += -DDEV_BRANCH
|
2017-09-25 20:46:14 -04:00
|
|
|
DEVBROBJ :=
|
2017-09-25 04:31:20 -04:00
|
|
|
|
2017-08-27 00:58:44 +02:00
|
|
|
ifeq ($(CIRRUS), y)
|
|
|
|
|
CFLAGS += -DUSE_CIRRUS
|
2017-09-25 04:31:20 -04:00
|
|
|
DEVBROBJ += vid_cl_gd.o vid_cl_gd_blit.o vid_cl_ramdac.o
|
2017-08-27 00:58:44 +02:00
|
|
|
endif
|
2017-09-25 04:31:20 -04:00
|
|
|
|
2017-10-10 00:14:15 +02:00
|
|
|
ifeq ($(NE1000), y)
|
|
|
|
|
CFLAGS += -DUSE_NE1000
|
2017-10-08 05:04:38 +02:00
|
|
|
endif
|
|
|
|
|
|
2017-08-27 00:58:44 +02:00
|
|
|
ifeq ($(NV_RIVA), y)
|
|
|
|
|
CFLAGS += -DUSE_RIVA
|
2017-09-25 04:31:20 -04:00
|
|
|
DEVBROBJ += vid_nv_riva128.o
|
2017-08-27 00:58:44 +02:00
|
|
|
endif
|
2017-09-25 04:31:20 -04:00
|
|
|
|
2017-08-27 00:58:44 +02:00
|
|
|
ifeq ($(PAS16), y)
|
|
|
|
|
CFLAGS += -DUSE_PAS16
|
2017-09-25 04:31:20 -04:00
|
|
|
DEVBROBJ += snd_pas16.o
|
2017-08-27 00:58:44 +02:00
|
|
|
endif
|
2017-07-30 23:21:11 -05:00
|
|
|
endif
|
2017-05-05 01:49:42 +02:00
|
|
|
|
2017-09-25 04:31:20 -04:00
|
|
|
|
2017-09-04 01:52:29 -04:00
|
|
|
# Options for works-in-progress.
|
|
|
|
|
ifndef SERIAL
|
2017-09-25 20:46:14 -04:00
|
|
|
SERIAL := serial.o
|
2017-09-04 01:52:29 -04:00
|
|
|
endif
|
|
|
|
|
ifndef EUROPC
|
2017-09-25 20:46:14 -04:00
|
|
|
EUROPC := machine_europc.o
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 \
|
2017-10-03 16:26:55 -04:00
|
|
|
device.o nvr.o nvr_at.o nvr_ps2.o \
|
|
|
|
|
intel.o intel_flash.o intel_sio.o
|
2017-09-25 20:46:14 -04:00
|
|
|
|
|
|
|
|
CPUOBJ := cpu.o 386.o 386_dynarec.o 386_dynarec_ops.o 808x.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) \
|
|
|
|
|
x86seg.o x87.o
|
|
|
|
|
|
|
|
|
|
MCHOBJ := machine.o \
|
|
|
|
|
machine_common.o \
|
|
|
|
|
machine_amstrad.o $(EUROPC) \
|
|
|
|
|
machine_olivetti_m24.o \
|
|
|
|
|
machine_pcjr.o \
|
|
|
|
|
machine_tandy.o \
|
|
|
|
|
machine_xt.o machine_xt_laserxt.o \
|
|
|
|
|
machine_at.o \
|
|
|
|
|
machine_at_ali1429.o machine_at_commodore.o \
|
|
|
|
|
machine_at_neat.o machine_at_headland.o \
|
|
|
|
|
machine_at_opti495.o machine_at_scat.o \
|
|
|
|
|
machine_at_wd76c10.o \
|
|
|
|
|
machine_at_sis_85c471.o machine_at_sis_85c496.o \
|
|
|
|
|
machine_at_430lx_nx.o machine_at_430fx.o \
|
|
|
|
|
machine_at_430hx.o machine_at_430vx.o \
|
|
|
|
|
machine_at_440fx.o \
|
|
|
|
|
machine_ps1.o \
|
|
|
|
|
machine_ps2_isa.o machine_ps2_mca.o
|
|
|
|
|
|
|
|
|
|
DEVOBJ := bugger.o lpt.o $(SERIAL) \
|
|
|
|
|
tandy_eeprom.o tandy_rom.o \
|
|
|
|
|
sio_detect.o \
|
|
|
|
|
sio_fdc37c665.o sio_fdc37c669.o sio_fdc37c932fr.o \
|
2017-09-30 16:56:38 -04:00
|
|
|
sio_pc87306.o sio_w83877f.o sio_um8669f.o piix.o \
|
2017-09-25 20:46:14 -04:00
|
|
|
keyboard.o \
|
|
|
|
|
keyboard_xt.o keyboard_at.o keyboard_pcjr.o \
|
|
|
|
|
keyboard_amstrad.o keyboard_olim24.o \
|
|
|
|
|
gameport.o \
|
|
|
|
|
joystick_standard.o joystick_ch_flightstick_pro.o \
|
|
|
|
|
joystick_sw_pad.o joystick_tm_fcs.o \
|
|
|
|
|
mouse.o \
|
|
|
|
|
mouse_serial.o mouse_ps2.o mouse_bus.o
|
|
|
|
|
|
|
|
|
|
FDDOBJ := fdd.o fdc.o fdi2raw.o \
|
|
|
|
|
floppy.o floppy_common.o floppy_86f.o \
|
|
|
|
|
floppy_fdi.o floppy_imd.o floppy_img.o floppy_json.o \
|
|
|
|
|
floppy_td0.o
|
|
|
|
|
|
2017-09-30 16:56:38 -04:00
|
|
|
HDDOBJ := hdd.o \
|
|
|
|
|
hdd_image.o hdd_table.o \
|
|
|
|
|
hdc.o \
|
|
|
|
|
hdc_esdi_at.o hdc_esdi_mca.o hdc_ide.o hdc_mfm_at.o \
|
|
|
|
|
hdc_mfm_xt.o hdc_xtide.o
|
|
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
CDROMOBJ := cdrom.o \
|
2017-10-08 05:14:07 +02:00
|
|
|
cdrom_dosbox.o cdrom_image.o cdrom_null.o
|
2017-09-25 20:46:14 -04:00
|
|
|
|
2017-08-27 00:58:44 +02:00
|
|
|
ifeq ($(USB), y)
|
2017-09-25 20:46:14 -04:00
|
|
|
USBOBJ := usb.o
|
|
|
|
|
endif
|
|
|
|
|
|
|
|
|
|
SCSIOBJ := scsi.o \
|
2017-10-14 07:03:19 +02:00
|
|
|
scsi_bus.o scsi_device.o \
|
|
|
|
|
scsi_disk.o \
|
|
|
|
|
scsi_x54x.o \
|
|
|
|
|
scsi_buslogic.o scsi_aha154x.o \
|
|
|
|
|
scsi_ncr5380.o
|
2017-09-25 20:46:14 -04:00
|
|
|
|
2017-10-01 16:56:15 -04:00
|
|
|
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
|
|
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
SNDOBJ := sound.o \
|
|
|
|
|
openal.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 $(FSYNTHOBJ) $(MUNTOBJ) \
|
|
|
|
|
midi_system.o \
|
|
|
|
|
snd_speaker.o \
|
|
|
|
|
snd_ps1.o snd_pssj.o \
|
|
|
|
|
snd_lpt_dac.o snd_lpt_dss.o \
|
2017-10-14 07:03:19 +02:00
|
|
|
snd_adlib.o snd_adlibgold.o snd_ad1848.o snd_audiopci.o \
|
2017-09-25 20:46:14 -04:00
|
|
|
snd_sb.o snd_sb_dsp.o snd_cms.o snd_dbopl.o \
|
|
|
|
|
snd_emu8k.o snd_gus.o snd_opl.o \
|
|
|
|
|
snd_mpu401.o \
|
|
|
|
|
snd_sn76489.o snd_ssi2001.o snd_wss.o \
|
|
|
|
|
snd_ym7128.o
|
|
|
|
|
|
|
|
|
|
VIDOBJ := video.o \
|
2017-10-11 05:40:44 -04:00
|
|
|
vid_table.o \
|
2017-09-25 20:46:14 -04:00
|
|
|
vid_cga.o vid_cga_comp.o vid_mda.o \
|
|
|
|
|
vid_ega.o vid_ega_render.o \
|
|
|
|
|
vid_vga.o vid_svga.o vid_svga_render.o \
|
|
|
|
|
vid_hercules.o vid_herculesplus.o vid_incolor.o \
|
|
|
|
|
vid_colorplus.o \
|
|
|
|
|
vid_genius.o \
|
|
|
|
|
vid_s3.o vid_s3_virge.o \
|
|
|
|
|
vid_et4000.o vid_et4000w32.o vid_icd2061.o \
|
|
|
|
|
vid_oti067.o \
|
|
|
|
|
vid_paradise.o \
|
|
|
|
|
vid_tvga.o vid_tgui9440.o vid_tkd8001_ramdac.o \
|
|
|
|
|
vid_ati_eeprom.o vid_ati18800.o vid_ati28800.o \
|
|
|
|
|
vid_ati68860_ramdac.o vid_ati_mach64.o \
|
|
|
|
|
vid_ics2595.o \
|
|
|
|
|
vid_sc1502x_ramdac.o \
|
|
|
|
|
vid_sdac_ramdac.o \
|
|
|
|
|
vid_stg_ramdac.o \
|
|
|
|
|
vid_wy700.o \
|
|
|
|
|
vid_voodoo.o \
|
|
|
|
|
vid_pcjr.o \
|
|
|
|
|
vid_ps1_svga.o \
|
|
|
|
|
vid_olivetti_m24.o \
|
|
|
|
|
vid_pc1512.o vid_pc1640.o \
|
|
|
|
|
vid_pc200.o \
|
|
|
|
|
vid_tandy.o vid_tandysl.o
|
|
|
|
|
|
2017-10-11 05:40:44 -04:00
|
|
|
PLATOBJ := win.o \
|
2017-10-07 04:34:04 -04:00
|
|
|
win_ddraw.o win_ddraw_fs.o win_d3d.o win_d3d_fs.o \
|
2017-10-14 00:49:08 -04:00
|
|
|
$(VNCOBJ) $(RDPOBJ) \
|
2017-10-11 05:40:44 -04:00
|
|
|
win_dynld.o win_thread.o $(WSERIAL) win_cdrom.o win_cdrom_ioctl.o \
|
|
|
|
|
win_keyboard.o win_mouse.o win_joystick.o win_midi.o \
|
2017-10-08 19:14:46 -04:00
|
|
|
win_dialog.o win_about.o win_status.o win_stbar.o \
|
2017-10-11 05:40:44 -04:00
|
|
|
win_settings.o win_deviceconfig.o win_joystickconfig.o \
|
|
|
|
|
$(OPENDIR)
|
2017-09-25 20:46:14 -04:00
|
|
|
|
|
|
|
|
OBJ := $(MAINOBJ) $(CPUOBJ) $(MCHOBJ) $(DEVOBJ) \
|
|
|
|
|
$(FDDOBJ) $(CDROMOBJ) $(HDDOBJ) \
|
|
|
|
|
$(USBOBJ) $(NETOBJ) $(SCSIOBJ) $(SNDOBJ) $(VIDOBJ) \
|
2017-10-11 05:40:44 -04:00
|
|
|
$(PLATOBJ) $(DEVBROBJ)
|
2017-09-04 01:52:29 -04:00
|
|
|
ifdef EXOBJ
|
2017-09-25 20:46:14 -04:00
|
|
|
OBJ += $(EXOBJ)
|
2017-09-04 01:52:29 -04:00
|
|
|
endif
|
2017-05-05 01:49:42 +02:00
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
LZFOBJ := lzf_c.o lzf_d.o
|
2017-05-05 01:49:42 +02:00
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
LIBS := -mwindows \
|
|
|
|
|
-lopenal.dll \
|
|
|
|
|
-lddraw -ldinput8 -ldxguid -ld3d9 -ld3dx9 \
|
|
|
|
|
-lcomctl32 -lwinmm
|
2017-10-14 00:49:08 -04:00
|
|
|
ifeq ($(VNC), y)
|
|
|
|
|
LIBS += $(VNCLIB) -lws2_32 -lz -lpthread
|
|
|
|
|
endif
|
2017-09-25 20:46:14 -04:00
|
|
|
LIBS += -lkernel32 -lwsock32 -liphlpapi -lpsapi
|
|
|
|
|
LIBS += -static -lstdc++ -lgcc
|
|
|
|
|
LIBS += -Wl,--large-address-aware
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Build module rules.
|
|
|
|
|
ifeq ($(AUTODEP), y)
|
|
|
|
|
%.o: %.c
|
|
|
|
|
@echo $<
|
|
|
|
|
@$(CC) $(CFLAGS) $(DEPS) -c $<
|
2017-05-05 01:49:42 +02:00
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
%.o: %.cc
|
|
|
|
|
@echo $<
|
|
|
|
|
@$(CPP) $(CFLAGS) $(DEPS) -c $<
|
2017-05-05 01:49:42 +02:00
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
%.o: %.cpp
|
|
|
|
|
@echo $<
|
|
|
|
|
@$(CPP) $(CFLAGS) $(DEPS) -c $<
|
|
|
|
|
else
|
2017-05-05 01:49:42 +02:00
|
|
|
%.o: %.c
|
|
|
|
|
@echo $<
|
2017-09-25 20:46:14 -04:00
|
|
|
@$(CC) $(CFLAGS) -c $<
|
2017-05-05 01:49:42 +02:00
|
|
|
|
|
|
|
|
%.o: %.cc
|
|
|
|
|
@echo $<
|
2017-09-25 20:46:14 -04:00
|
|
|
@$(CPP) $(CFLAGS) -c $<
|
2017-05-05 01:49:42 +02:00
|
|
|
|
|
|
|
|
%.o: %.cpp
|
|
|
|
|
@echo $<
|
2017-09-25 20:46:14 -04:00
|
|
|
@$(CPP) $(CFLAGS) -c $<
|
|
|
|
|
|
|
|
|
|
%.d: %.c $(wildcard $*.d)
|
|
|
|
|
@echo $<
|
|
|
|
|
@$(CC) $(CFLAGS) $(DEPS) -E $< >NUL
|
|
|
|
|
|
|
|
|
|
%.d: %.cc $(wildcard $*.d)
|
|
|
|
|
@echo $<
|
|
|
|
|
@$(CPP) $(CFLAGS) $(DEPS) -E $< >NUL
|
|
|
|
|
|
|
|
|
|
%.d: %.cpp $(wildcard $*.d)
|
|
|
|
|
@echo $<
|
|
|
|
|
@$(CPP) $(CFLAGS) $(DEPS) -E $< >NUL
|
|
|
|
|
endif
|
|
|
|
|
|
2017-05-05 01:49:42 +02:00
|
|
|
|
2017-05-08 18:27:42 -04:00
|
|
|
all: $(PROG).exe pcap_if.exe
|
|
|
|
|
|
|
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
86Box.res: 86Box.rc
|
|
|
|
|
@echo Processing $<
|
|
|
|
|
@$(WINDRES) $(RFLAGS) $(EXTRAS) -i $< -o 86Box.res
|
|
|
|
|
|
|
|
|
|
$(PROG).exe: $(OBJ) $(LZFOBJ) 86Box.res
|
2017-05-05 01:49:42 +02:00
|
|
|
@echo Linking $(PROG).exe ..
|
2017-09-25 20:46:14 -04:00
|
|
|
@$(CC) -o $(PROG).exe $(OBJ) $(LZFOBJ) 86Box.res $(LIBS)
|
2017-05-05 02:35:21 +02:00
|
|
|
ifneq ($(DEBUG), y)
|
2017-05-12 17:33:28 -04:00
|
|
|
@strip $(PROG).exe
|
2017-05-05 01:49:42 +02:00
|
|
|
endif
|
|
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
pcap_if.res: pcap_if.rc
|
|
|
|
|
@echo Processing $<
|
|
|
|
|
@$(WINDRES) $(RFLAGS) -i $< -o pcap_if.res
|
|
|
|
|
|
2017-06-05 00:36:03 -04:00
|
|
|
pcap_if.exe: pcap_if.o win_dynld.o pcap_if.res
|
2017-05-08 18:27:42 -04:00
|
|
|
@echo Linking pcap_if.exe ..
|
2017-06-05 00:36:03 -04:00
|
|
|
@$(CC) -o pcap_if.exe pcap_if.o win_dynld.o pcap_if.res
|
2017-05-05 02:35:21 +02:00
|
|
|
ifneq ($(DEBUG), y)
|
2017-05-12 17:33:28 -04:00
|
|
|
@strip pcap_if.exe
|
2017-05-05 01:49:42 +02:00
|
|
|
endif
|
|
|
|
|
|
2017-05-08 18:27:42 -04:00
|
|
|
|
2017-05-05 01:49:42 +02:00
|
|
|
clean:
|
2017-09-25 20:46:14 -04:00
|
|
|
@echo Cleaning objects..
|
|
|
|
|
@-rm *.o 2>NUL
|
|
|
|
|
@-rm *.res 2>NUL
|
2017-09-04 01:52:29 -04:00
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
clobber: clean
|
2017-10-12 14:25:17 -04:00
|
|
|
@echo Cleaning executables..
|
2017-09-25 20:46:14 -04:00
|
|
|
@-rm *.d 2>NUL
|
|
|
|
|
@-rm *.exe 2>NUL
|
|
|
|
|
# @-rm *.depends 2>NUL
|
2017-09-04 01:52:29 -04:00
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
ifneq ($(AUTODEP), y)
|
|
|
|
|
depclean:
|
|
|
|
|
@-rm -f .depends 2>NUL
|
|
|
|
|
@echo Creating dependencies..
|
|
|
|
|
@echo # Run "make depends" to re-create this file. >.depends
|
2017-08-08 16:14:50 +02:00
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
depends: DEPOBJ=$(OBJ:%.o=%.d)
|
|
|
|
|
depends: depclean $(OBJ:%.o=%.d)
|
|
|
|
|
@-cat $(DEPOBJ) >>.depends
|
|
|
|
|
@-rm -f $(DEPOBJ)
|
2017-08-08 16:14:50 +02:00
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
.depends:
|
|
|
|
|
endif
|
2017-08-08 16:14:50 +02:00
|
|
|
|
|
|
|
|
|
2017-09-25 20:46:14 -04:00
|
|
|
# Module dependencies.
|
|
|
|
|
ifeq ($(AUTODEP), y)
|
|
|
|
|
#-include $(OBJ:%.o=%.d) (better, but sloooowwwww)
|
|
|
|
|
-include *.d
|
|
|
|
|
else
|
|
|
|
|
include $(wildcard .depends)
|
|
|
|
|
endif
|
2017-08-08 16:14:50 +02:00
|
|
|
|
2017-06-15 03:10:31 -04:00
|
|
|
|
2017-05-05 01:49:42 +02:00
|
|
|
# End of Makefile.mingw.
|