Files
Konrad Beckmann 20d7fefaf9 Import mikmod
2021-08-02 02:19:41 +02:00

245 lines
9.4 KiB
Makefile

# Makefile for targeting AmigaOS variants using VBCC.
# You must specify a target OS on the make command line:
# make amigaos : build for m68k-amigaos
# for now, only tested for m68k-amigaos:
AOS3 := 1
# The tools
CC=vc
#MKLIB=join $(OBJ) as $(LIB)
MKLIB=cat $(OBJ) > $(LIB)
# compiler flags
CFLAGS =-O1 -speed -c99
CPPFLAGS =-DHAVE_LIMITS_H -DHAVE_SNPRINTF
INCLUDE =-I../amiga -I../include
LDFLAGS =
LDLIBS =-L. -lmikmod
CPPFLAGS_LIB =-DMIKMOD_BUILD
ifeq ($(MORPHOS),1)
include vbcc_morphos.mk
endif
ifeq ($(AOS3),1)
include vbcc_aos3.mk
endif
ifeq ($(AOS4),1)
include vbcc_aos4.mk
endif
# disable support for module depackers
#CPPFLAGS_LIB+=-DNO_DEPACKERS
# disable the high quality mixer (build only with the standart mixer)
#CPPFLAGS_LIB+=-DNO_HQMIXER
# support for AHI output:
CPPFLAGS_LIB+=-DDRV_AHI
# support for wav file output:
CPPFLAGS_LIB+=-DDRV_WAV
# support for aiff file output:
CPPFLAGS_LIB+=-DDRV_AIFF
# support for output raw data to a file:
CPPFLAGS_LIB+=-DDRV_RAW
COMPILE_LIB=$(CC) -c $(CFLAGS) $(INCLUDE) $(CPPFLAGS) $(CPPFLAGS_LIB)
COMPILE_APP=$(CC) -c $(CFLAGS) $(INCLUDE) $(CPPFLAGS)
.SUFFIXES:
.SUFFIXES: .o .c
LIB=mikmod.lib
APP=splay splayFP splayMEM splayMEM2 soundeffects
OBJ=objs/drv_ahi.o \
objs/drv_raw.o \
objs/drv_aiff.o \
objs/drv_wav.o \
objs/drv_nos.o \
objs/strcasecmp.o \
objs/load_669.o \
objs/load_amf.o \
objs/load_asy.o \
objs/load_dsm.o \
objs/load_far.o \
objs/load_gdm.o \
objs/load_gt2.o \
objs/load_it.o \
objs/load_imf.o \
objs/load_m15.o \
objs/load_med.o \
objs/load_mod.o \
objs/load_mtm.o \
objs/load_okt.o \
objs/load_s3m.o \
objs/load_stm.o \
objs/load_stx.o \
objs/load_ult.o \
objs/load_umx.o \
objs/load_uni.o \
objs/load_xm.o \
objs/mmalloc.o \
objs/mmerror.o \
objs/mmio.o \
objs/mdriver.o \
objs/mdreg.o \
objs/mmcmp.o \
objs/pp20.o \
objs/s404.o \
objs/xpk.o \
objs/mloader.o \
objs/mlreg.o \
objs/mlutil.o \
objs/mplayer.o \
objs/munitrk.o \
objs/mwav.o \
objs/npertab.o \
objs/sloader.o \
objs/virtch.o \
objs/virtch2.o \
objs/virtch_common.o
# objs/mdulaw.o
all: $(LIB) $(APP)
morphos:
@echo Building for ppc-morphos
$(MAKE) -f Makefile.vbcc MORPHOS=1
amigaos:
@echo Building for m68k-amigaos
$(MAKE) -f Makefile.vbcc AOS3=1
amigaos4:
@echo Building for ppc-amigaos4
$(MAKE) -f Makefile.vbcc AOS4=1
clean:
rm -f $(APP) $(LIB) *.a objs/*.o
$(LIB): $(OBJ)
$(MKLIB)
splay: $(LIB) objs/amiga.o objs/splay.o
$(CC) objs/amiga.o objs/splay.o $(LDFLAGS) $(LDLIBS) -o splay
splayFP: $(LIB) objs/amiga.o objs/splayFP.o
$(CC) objs/amiga.o objs/splayFP.o $(LDFLAGS) $(LDLIBS) -o splayFP
splayMEM: $(LIB) objs/amiga.o objs/myloader.o objs/splayMEM.o
$(CC) objs/amiga.o objs/myloader.o objs/splayMEM.o $(LDFLAGS) $(LDLIBS) -o splayMEM
splayMEM2: $(LIB) objs/amiga.o objs/splayMEM2.o
$(CC) objs/amiga.o objs/splayMEM2.o $(LDFLAGS) $(LDLIBS) -o splayMEM2
soundeffects: $(LIB) objs/amiga.o objs/soundeffects.o
$(CC) objs/amiga.o objs/soundeffects.o $(LDFLAGS) $(LDLIBS) -o soundeffects
HEADER_DEPS=../include/mikmod.h ../include/mikmod_internals.h ../include/mikmod_ctype.h
objs/drv_ahi.o: ../drivers/drv_ahi.c $(HEADER_DEPS)
$(COMPILE_LIB) ../drivers/drv_ahi.c -o objs/drv_ahi.o
objs/drv_nos.o: ../drivers/drv_nos.c $(HEADER_DEPS)
$(COMPILE_LIB) ../drivers/drv_nos.c -o objs/drv_nos.o
objs/drv_raw.o: ../drivers/drv_raw.c $(HEADER_DEPS)
$(COMPILE_LIB) ../drivers/drv_raw.c -o objs/drv_raw.o
objs/drv_aiff.o: ../drivers/drv_aiff.c $(HEADER_DEPS)
$(COMPILE_LIB) ../drivers/drv_aiff.c -o objs/drv_aiff.o
objs/drv_wav.o: ../drivers/drv_wav.c $(HEADER_DEPS)
$(COMPILE_LIB) ../drivers/drv_wav.c -o objs/drv_wav.o
objs/load_669.o: ../loaders/load_669.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_669.c -o objs/load_669.o
objs/load_amf.o: ../loaders/load_amf.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_amf.c -o objs/load_amf.o
objs/load_asy.o: ../loaders/load_asy.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_asy.c -o objs/load_asy.o
objs/load_dsm.o: ../loaders/load_dsm.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_dsm.c -o objs/load_dsm.o
objs/load_far.o: ../loaders/load_far.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_far.c -o objs/load_far.o
objs/load_gdm.o: ../loaders/load_gdm.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_gdm.c -o objs/load_gdm.o
objs/load_gt2.o: ../loaders/load_gt2.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_gt2.c -o objs/load_gt2.o
objs/load_it.o: ../loaders/load_it.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_it.c -o objs/load_it.o
objs/load_imf.o: ../loaders/load_imf.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_imf.c -o objs/load_imf.o
objs/load_m15.o: ../loaders/load_m15.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_m15.c -o objs/load_m15.o
objs/load_med.o: ../loaders/load_med.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_med.c -o objs/load_med.o
objs/load_mod.o: ../loaders/load_mod.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_mod.c -o objs/load_mod.o
objs/load_mtm.o: ../loaders/load_mtm.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_mtm.c -o objs/load_mtm.o
objs/load_okt.o: ../loaders/load_okt.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_okt.c -o objs/load_okt.o
objs/load_s3m.o: ../loaders/load_s3m.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_s3m.c -o objs/load_s3m.o
objs/load_stm.o: ../loaders/load_stm.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_stm.c -o objs/load_stm.o
objs/load_stx.o: ../loaders/load_stx.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_stx.c -o objs/load_stx.o
objs/load_ult.o: ../loaders/load_ult.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_ult.c -o objs/load_ult.o
objs/load_umx.o: ../loaders/load_umx.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_umx.c -o objs/load_umx.o
objs/load_uni.o: ../loaders/load_uni.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_uni.c -o objs/load_uni.o
objs/load_xm.o: ../loaders/load_xm.c $(HEADER_DEPS)
$(COMPILE_LIB) ../loaders/load_xm.c -o objs/load_xm.o
objs/mmalloc.o: ../mmio/mmalloc.c $(HEADER_DEPS)
$(COMPILE_LIB) ../mmio/mmalloc.c -o objs/mmalloc.o
objs/mmerror.o: ../mmio/mmerror.c $(HEADER_DEPS)
$(COMPILE_LIB) ../mmio/mmerror.c -o objs/mmerror.o
objs/mmio.o: ../mmio/mmio.c $(HEADER_DEPS)
$(COMPILE_LIB) ../mmio/mmio.c -o objs/mmio.o
objs/mmcmp.o: ../depackers/mmcmp.c $(HEADER_DEPS)
$(COMPILE_LIB) ../depackers/mmcmp.c -o objs/mmcmp.o
objs/pp20.o: ../depackers/pp20.c $(HEADER_DEPS)
$(COMPILE_LIB) ../depackers/pp20.c -o objs/pp20.o
objs/s404.o: ../depackers/s404.c $(HEADER_DEPS)
$(COMPILE_LIB) ../depackers/s404.c -o objs/s404.o
objs/xpk.o: ../depackers/xpk.c $(HEADER_DEPS)
$(COMPILE_LIB) ../depackers/xpk.c -o objs/xpk.o
objs/mdriver.o: ../playercode/mdriver.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/mdriver.c -o objs/mdriver.o
objs/mdreg.o: ../playercode/mdreg.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/mdreg.c -o objs/mdreg.o
objs/mdulaw.o: ../playercode/mdulaw.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/mdulaw.c -o objs/mdulaw.o
objs/mloader.o: ../playercode/mloader.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/mloader.c -o objs/mloader.o
objs/mlreg.o: ../playercode/mlreg.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/mlreg.c -o objs/mlreg.o
objs/mlutil.o: ../playercode/mlutil.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/mlutil.c -o objs/mlutil.o
objs/mplayer.o: ../playercode/mplayer.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/mplayer.c -o objs/mplayer.o
objs/munitrk.o: ../playercode/munitrk.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/munitrk.c -o objs/munitrk.o
objs/mwav.o: ../playercode/mwav.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/mwav.c -o objs/mwav.o
objs/npertab.o: ../playercode/npertab.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/npertab.c -o objs/npertab.o
objs/sloader.o: ../playercode/sloader.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/sloader.c -o objs/sloader.o
objs/virtch.o: ../playercode/virtch.c ../playercode/virtch_common.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/virtch.c -o objs/virtch.o
objs/virtch2.o: ../playercode/virtch2.c ../playercode/virtch_common.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/virtch2.c -o objs/virtch2.o
objs/virtch_common.o: ../playercode/virtch_common.c $(HEADER_DEPS)
$(COMPILE_LIB) ../playercode/virtch_common.c -o objs/virtch_common.o
objs/strcasecmp.o: ../posix/strcasecmp.c $(HEADER_DEPS)
$(COMPILE_LIB) ../posix/strcasecmp.c -o objs/strcasecmp.o
objs/amiga.o: ../examples/amiga.c
$(COMPILE_APP) ../examples/amiga.c -o objs/amiga.o
objs/splay.o: ../examples/simpleplay/splay.c $(HEADER_DEPS)
$(COMPILE_APP) ../examples/simpleplay/splay.c -o objs/splay.o
objs/splayFP.o: ../examples/simpleplayFP/splayFP.c $(HEADER_DEPS)
$(COMPILE_APP) ../examples/simpleplayFP/splayFP.c -o objs/splayFP.o
objs/myloader.o: ../examples/simpleplayMEM/myloader.c ../examples/simpleplayMEM/myloader.h $(HEADER_DEPS)
$(COMPILE_APP) -I../examples/simpleplayMEM ../examples/simpleplayMEM/myloader.c -o objs/myloader.o
objs/splayMEM.o: ../examples/simpleplayMEM/splayMEM.c ../examples/simpleplayMEM/myloader.h $(HEADER_DEPS)
$(COMPILE_APP) -I../examples/simpleplayMEM ../examples/simpleplayMEM/splayMEM.c -o objs/splayMEM.o
objs/splayMEM2.o: ../examples/simpleplayMEM2/splayMEM2.c $(HEADER_DEPS)
$(COMPILE_APP) ../examples/simpleplayMEM2/splayMEM2.c -o objs/splayMEM2.o
objs/soundeffects.o: ../examples/soundeffects/soundeffects.c $(HEADER_DEPS)
$(COMPILE_APP) ../examples/soundeffects/soundeffects.c -o objs/soundeffects.o