blob: 74b473eb26672aa750c105cb6bdd8e1b6e04e27d [file] [log] [blame] [raw]
#
# DOSMid Makefile for Open Watcom Make
# Copyright (C) 2014-2023 Mateusz Viste
#
# you can control the availability of some features with the FEATURES string:
# -DSBAWE enables SoundBlaster AWE drivers (+36K)
# -DOPL enables MIDI emulation over OPL output (+9K)
# -DOPLLPT enables OPL2LPT and OPL3LPT output, requires OPL
# -DCMS enables Creative Music System / Game Blaster output (+5K)
# -DCMSLPT enables CMSLPT output, requires CMS
# -DDBGFILE enables debug output to file (+10K)
FEATURES = -DSBAWE -DOPL -DOPLLPT -DCMS -DCMSLPT
FEATURESLT = -DOPL -DOPLLPT -DCMS -DCMSLPT
# Configure the default output device for use when no device option specified
# and no GUS, MPU and AWE configured via environment
DEFAULT_DEVICE = -DDOSMID_DEFAULT_DEVICE_TYPE=DEV_OPL -DDOSMID_DEFAULT_DEVICE_PORT=0x388
# memory segmentation mode (s = small ; c = compact ; m = medium ; l = large)
# code | data
# small 64K | 64K
# compact 64K | 64K+
# medium 64K+ | 64K
# large 64K+ | 64K+
MODE = s
CFLAGS = -y -zp2 -d0 -0 -s -wx -we -os -m$(MODE)
SOURCES = cms.c dosmid.c fio.c gus.c lpt.c mem.c midi.c mpu401.c mus.c opl.c outdev.c rs232.c sbdsp.c syx.c timer.c ui.c xms.c
all: dosmid.exe dosmidlt.exe
dosmid.exe: $(SOURCES)
*wcl $(CFLAGS) $(FEATURES) $(DEFAULT_DEVICE) -lr -fe=$@ -fm=dosmid.map *.c awe32\rawe32$(MODE).lib
upx --8086 -9 $@
dosmidlt.exe: $(SOURCES)
*wcl $(CFLAGS) $(FEATURESLT) $(DEFAULT_DEVICE) -lr -fe=$@ -fm=dosmidlt.map *.c
upx --8086 -9 $@
clean: .symbolic
del *.obj
del *.map
del dosmid.exe
del dosmidlt.exe
release: dosmid.exe .symbolic
if exist dosmid.svp del dosmid.svp
if exist dosmid.zip del dosmid.zip
if exist source.zip del source.zip
mkdir progs
mkdir progs\dosmid
mkdir appinfo
copy dosmid.lsm appinfo\
copy dosmid.exe progs\dosmid\
copy dosmidlt.exe progs\dosmid\
copy dosmid.txt progs\dosmid\
copy dosmid.cfg progs\dosmid\
copy history.txt progs\dosmid\
zip -k9rqDX -j dosmid.zip progs\dosmid
zip -k9rqDX -m dosmid.svp progs appinfo
zip -k9rqDX source.zip awe32 *.txt *.cfg *.c *.h Makefile dosmid.lsm
rmdir appinfo
rmdir progs\dosmid
rmdir progs