1# GNU Makefile for building libMikMod using GCC / DJGPP environment 2# 3# Edit config.h to disable/enable certain drivers, etc, if necessary. 4# 5# Targets: 6# - all (default): make libmikmod.a, static MikMod sound library 7# - clean: clean up (remove all generated files) 8 9# Set to 1 for debug build 10DEBUG = 0 11 12# The tools 13ifeq ($(CROSS),) 14CC=gcc 15AS=as 16AR=ar 17RANLIB=ranlib 18else 19CC=$(CROSS)-gcc 20AS=$(CROSS)-as 21AR=$(CROSS)-ar 22RANLIB=$(CROSS)-ranlib 23endif 24CFLAGS = -DMIKMOD_BUILD -DHAVE_CONFIG_H $(INCLUDE) 25INCLUDE = -I../dos -I../drivers/dos -I../include 26ARFLAGS = cr 27 28ifeq ($(DEBUG),1) 29CFLAGS += -g -Wall 30else 31CFLAGS += -O2 -Wall -fomit-frame-pointer -ffast-math 32endif 33 34.SUFFIXES: 35.SUFFIXES: .o .c 36 37COMPILE=$(CC) -c $(CFLAGS) 38 39OBJ=out/dosdma.o \ 40 out/dosirq.o \ 41 out/dosgus.o \ 42 out/drv_ultra.o \ 43 out/dossb.o \ 44 out/drv_sb.o \ 45 out/doswss.o \ 46 out/drv_wss.o \ 47 out/drv_wav.o \ 48 out/drv_aiff.o \ 49 out/drv_raw.o \ 50 out/drv_stdout.o \ 51 out/drv_pipe.o \ 52 out/drv_nos.o \ 53 out/strcasecmp.o \ 54 out/load_669.o \ 55 out/load_amf.o \ 56 out/load_asy.o \ 57 out/load_dsm.o \ 58 out/load_far.o \ 59 out/load_gdm.o \ 60 out/load_gt2.o \ 61 out/load_it.o \ 62 out/load_imf.o \ 63 out/load_m15.o \ 64 out/load_med.o \ 65 out/load_mod.o \ 66 out/load_mtm.o \ 67 out/load_okt.o \ 68 out/load_s3m.o \ 69 out/load_stm.o \ 70 out/load_stx.o \ 71 out/load_ult.o \ 72 out/load_umx.o \ 73 out/load_uni.o \ 74 out/load_xm.o \ 75 out/mmalloc.o \ 76 out/mmerror.o \ 77 out/mmio.o \ 78 out/mdriver.o \ 79 out/mdreg.o \ 80 out/mmcmp.o \ 81 out/pp20.o \ 82 out/s404.o \ 83 out/xpk.o \ 84 out/mloader.o \ 85 out/mlreg.o \ 86 out/mlutil.o \ 87 out/mplayer.o \ 88 out/munitrk.o \ 89 out/mwav.o \ 90 out/npertab.o \ 91 out/sloader.o \ 92 out/virtch.o \ 93 out/virtch2.o \ 94 out/virtch_common.o 95# out/mdulaw.o 96 97.PHONY: clean 98 99# The build targets 100TARGETS = libmikmod.a 101 102all: $(TARGETS) 103 104clean: 105 rm -rf out/*.o $(TARGETS) 106 107libmikmod.a: $(OBJ) 108 $(AR) $(ARFLAGS) $@ $^ 109 $(RANLIB) $@ 110 111HEADER_DEPS=../dos/config.h ../include/mikmod.h ../include/mikmod_internals.h ../include/mikmod_ctype.h 112out/drv_ultra.o: ../drivers/drv_ultra.c $(HEADER_DEPS) ../drivers/dos/libgus.h 113 $(COMPILE) ../drivers/drv_ultra.c -o out/drv_ultra.o 114out/drv_sb.o: ../drivers/drv_sb.c $(HEADER_DEPS) ../drivers/dos/dossb.h 115 $(COMPILE) ../drivers/drv_sb.c -o out/drv_sb.o 116out/drv_wss.o: ../drivers/drv_wss.c $(HEADER_DEPS) ../drivers/dos/doswss.h 117 $(COMPILE) ../drivers/drv_wss.c -o out/drv_wss.o 118out/dosgus.o: ../drivers/dos/dosgus.c $(HEADER_DEPS) ../drivers/dos/libgus.h 119 $(COMPILE) ../drivers/dos/dosgus.c -o out/dosgus.o 120out/dossb.o: ../drivers/dos/dossb.c $(HEADER_DEPS) ../drivers/dos/dossb.h 121 $(COMPILE) ../drivers/dos/dossb.c -o out/dossb.o 122out/doswss.o: ../drivers/dos/doswss.c $(HEADER_DEPS) ../drivers/dos/doswss.h 123 $(COMPILE) ../drivers/dos/doswss.c -o out/doswss.o 124out/dosdma.o: ../drivers/dos/dosdma.c $(HEADER_DEPS) ../drivers/dos/dosdma.h 125 $(COMPILE) ../drivers/dos/dosdma.c -o out/dosdma.o 126out/dosirq.o: ../drivers/dos/dosirq.c $(HEADER_DEPS) ../drivers/dos/dosirq.h 127 $(COMPILE) ../drivers/dos/dosirq.c -o out/dosirq.o 128out/drv_nos.o: ../drivers/drv_nos.c $(HEADER_DEPS) 129 $(COMPILE) ../drivers/drv_nos.c -o out/drv_nos.o 130out/drv_raw.o: ../drivers/drv_raw.c $(HEADER_DEPS) 131 $(COMPILE) ../drivers/drv_raw.c -o out/drv_raw.o 132out/drv_aiff.o: ../drivers/drv_aiff.c $(HEADER_DEPS) 133 $(COMPILE) ../drivers/drv_aiff.c -o out/drv_aiff.o 134out/drv_wav.o: ../drivers/drv_wav.c $(HEADER_DEPS) 135 $(COMPILE) ../drivers/drv_wav.c -o out/drv_wav.o 136out/drv_stdout.o: ../drivers/drv_stdout.c $(HEADER_DEPS) 137 $(COMPILE) ../drivers/drv_stdout.c -o out/drv_stdout.o 138out/drv_pipe.o: ../drivers/drv_pipe.c $(HEADER_DEPS) 139 $(COMPILE) ../drivers/drv_pipe.c -o out/drv_pipe.o 140out/load_669.o: ../loaders/load_669.c $(HEADER_DEPS) 141 $(COMPILE) ../loaders/load_669.c -o out/load_669.o 142out/load_amf.o: ../loaders/load_amf.c $(HEADER_DEPS) 143 $(COMPILE) ../loaders/load_amf.c -o out/load_amf.o 144out/load_asy.o: ../loaders/load_asy.c $(HEADER_DEPS) 145 $(COMPILE) ../loaders/load_asy.c -o out/load_asy.o 146out/load_dsm.o: ../loaders/load_dsm.c $(HEADER_DEPS) 147 $(COMPILE) ../loaders/load_dsm.c -o out/load_dsm.o 148out/load_far.o: ../loaders/load_far.c $(HEADER_DEPS) 149 $(COMPILE) ../loaders/load_far.c -o out/load_far.o 150out/load_gdm.o: ../loaders/load_gdm.c $(HEADER_DEPS) 151 $(COMPILE) ../loaders/load_gdm.c -o out/load_gdm.o 152out/load_gt2.o: ../loaders/load_gt2.c $(HEADER_DEPS) 153 $(COMPILE) ../loaders/load_gt2.c -o out/load_gt2.o 154out/load_it.o: ../loaders/load_it.c $(HEADER_DEPS) 155 $(COMPILE) ../loaders/load_it.c -o out/load_it.o 156out/load_imf.o: ../loaders/load_imf.c $(HEADER_DEPS) 157 $(COMPILE) ../loaders/load_imf.c -o out/load_imf.o 158out/load_m15.o: ../loaders/load_m15.c $(HEADER_DEPS) 159 $(COMPILE) ../loaders/load_m15.c -o out/load_m15.o 160out/load_med.o: ../loaders/load_med.c $(HEADER_DEPS) 161 $(COMPILE) ../loaders/load_med.c -o out/load_med.o 162out/load_mod.o: ../loaders/load_mod.c $(HEADER_DEPS) 163 $(COMPILE) ../loaders/load_mod.c -o out/load_mod.o 164out/load_mtm.o: ../loaders/load_mtm.c $(HEADER_DEPS) 165 $(COMPILE) ../loaders/load_mtm.c -o out/load_mtm.o 166out/load_okt.o: ../loaders/load_okt.c $(HEADER_DEPS) 167 $(COMPILE) ../loaders/load_okt.c -o out/load_okt.o 168out/load_s3m.o: ../loaders/load_s3m.c $(HEADER_DEPS) 169 $(COMPILE) ../loaders/load_s3m.c -o out/load_s3m.o 170out/load_stm.o: ../loaders/load_stm.c $(HEADER_DEPS) 171 $(COMPILE) ../loaders/load_stm.c -o out/load_stm.o 172out/load_stx.o: ../loaders/load_stx.c $(HEADER_DEPS) 173 $(COMPILE) ../loaders/load_stx.c -o out/load_stx.o 174out/load_ult.o: ../loaders/load_ult.c $(HEADER_DEPS) 175 $(COMPILE) ../loaders/load_ult.c -o out/load_ult.o 176out/load_umx.o: ../loaders/load_umx.c $(HEADER_DEPS) 177 $(COMPILE) ../loaders/load_umx.c -o out/load_umx.o 178out/load_uni.o: ../loaders/load_uni.c $(HEADER_DEPS) 179 $(COMPILE) ../loaders/load_uni.c -o out/load_uni.o 180out/load_xm.o: ../loaders/load_xm.c $(HEADER_DEPS) 181 $(COMPILE) ../loaders/load_xm.c -o out/load_xm.o 182out/mmalloc.o: ../mmio/mmalloc.c $(HEADER_DEPS) 183 $(COMPILE) ../mmio/mmalloc.c -o out/mmalloc.o 184out/mmerror.o: ../mmio/mmerror.c $(HEADER_DEPS) 185 $(COMPILE) ../mmio/mmerror.c -o out/mmerror.o 186out/mmio.o: ../mmio/mmio.c $(HEADER_DEPS) 187 $(COMPILE) ../mmio/mmio.c -o out/mmio.o 188out/mmcmp.o: ../depackers/mmcmp.c $(HEADER_DEPS) 189 $(COMPILE) ../depackers/mmcmp.c -o out/mmcmp.o 190out/pp20.o: ../depackers/pp20.c $(HEADER_DEPS) 191 $(COMPILE) ../depackers/pp20.c -o out/pp20.o 192out/s404.o: ../depackers/s404.c $(HEADER_DEPS) 193 $(COMPILE) ../depackers/s404.c -o out/s404.o 194out/xpk.o: ../depackers/xpk.c $(HEADER_DEPS) 195 $(COMPILE) ../depackers/xpk.c -o out/xpk.o 196out/mdriver.o: ../playercode/mdriver.c $(HEADER_DEPS) 197 $(COMPILE) ../playercode/mdriver.c -o out/mdriver.o 198out/mdreg.o: ../playercode/mdreg.c $(HEADER_DEPS) 199 $(COMPILE) ../playercode/mdreg.c -o out/mdreg.o 200out/mdulaw.o: ../playercode/mdulaw.c $(HEADER_DEPS) 201 $(COMPILE) ../playercode/mdulaw.c -o out/mdulaw.o 202out/mloader.o: ../playercode/mloader.c $(HEADER_DEPS) 203 $(COMPILE) ../playercode/mloader.c -o out/mloader.o 204out/mlreg.o: ../playercode/mlreg.c $(HEADER_DEPS) 205 $(COMPILE) ../playercode/mlreg.c -o out/mlreg.o 206out/mlutil.o: ../playercode/mlutil.c $(HEADER_DEPS) 207 $(COMPILE) ../playercode/mlutil.c -o out/mlutil.o 208out/mplayer.o: ../playercode/mplayer.c $(HEADER_DEPS) 209 $(COMPILE) ../playercode/mplayer.c -o out/mplayer.o 210out/munitrk.o: ../playercode/munitrk.c $(HEADER_DEPS) 211 $(COMPILE) ../playercode/munitrk.c -o out/munitrk.o 212out/mwav.o: ../playercode/mwav.c $(HEADER_DEPS) 213 $(COMPILE) ../playercode/mwav.c -o out/mwav.o 214out/npertab.o: ../playercode/npertab.c $(HEADER_DEPS) 215 $(COMPILE) ../playercode/npertab.c -o out/npertab.o 216out/sloader.o: ../playercode/sloader.c $(HEADER_DEPS) 217 $(COMPILE) ../playercode/sloader.c -o out/sloader.o 218out/virtch.o: ../playercode/virtch.c ../playercode/virtch_common.c $(HEADER_DEPS) 219 $(COMPILE) ../playercode/virtch.c -o out/virtch.o 220out/virtch2.o: ../playercode/virtch2.c ../playercode/virtch_common.c $(HEADER_DEPS) 221 $(COMPILE) ../playercode/virtch2.c -o out/virtch2.o 222out/virtch_common.o: ../playercode/virtch_common.c $(HEADER_DEPS) 223 $(COMPILE) ../playercode/virtch_common.c -o out/virtch_common.o 224out/strcasecmp.o: ../posix/strcasecmp.c $(HEADER_DEPS) 225 $(COMPILE) ../posix/strcasecmp.c -o out/strcasecmp.o 226