268 lines
7 KiB
Text
268 lines
7 KiB
Text
!ifeq USE_PROWIZARD 0
|
|
CFLAGS += -DLIBXMP_NO_PROWIZARD
|
|
!endif
|
|
!ifeq USE_DEPACKERS 0
|
|
CFLAGS += -DLIBXMP_NO_DEPACKERS
|
|
!endif
|
|
CFLAGS += -DHAVE_FNMATCH -DHAVE_MKSTEMP -DHAVE_UMASK
|
|
#CFLAGS += -DDEBUG
|
|
CFLAGS += -Iinclude
|
|
|
|
DLLFLAGS=-bd -DBUILDING_DLL
|
|
STATICFLAGS=-DLIBXMP_STATIC
|
|
|
|
DLLNAME=libxmp.dll
|
|
EXPNAME=libxmp.exp
|
|
# Note: not libxmp.map...
|
|
MAPNAME=xmp.map
|
|
LIBNAME=libxmp.lib
|
|
LIBSTATIC=xmp_static.lib
|
|
TESTNAME=libxmp-test.exe
|
|
|
|
!ifeq target static
|
|
CFLAGS += $(STATICFLAGS)
|
|
LIBFLAGS=$(CFLAGS)
|
|
BLD_TARGET=$(LIBSTATIC)
|
|
BLD_LIB=$(LIBSTATIC)
|
|
!else
|
|
LIBFLAGS=$(CFLAGS) $(DLLFLAGS)
|
|
BLD_TARGET=$(DLLNAME)
|
|
BLD_LIB=$(LIBNAME)
|
|
!endif
|
|
|
|
OBJS= &
|
|
src/virtual.obj &
|
|
src/format.obj &
|
|
src/period.obj &
|
|
src/player.obj &
|
|
src/read_event.obj &
|
|
src/dataio.obj &
|
|
src/misc.obj &
|
|
src/mkstemp.obj &
|
|
src/md5.obj &
|
|
src/lfo.obj &
|
|
src/scan.obj &
|
|
src/control.obj &
|
|
src/far_extras.obj &
|
|
src/med_extras.obj &
|
|
src/filter.obj &
|
|
src/effects.obj &
|
|
src/mixer.obj &
|
|
src/mix_all.obj &
|
|
src/load_helpers.obj &
|
|
src/load.obj &
|
|
src/hio.obj &
|
|
src/hmn_extras.obj &
|
|
src/extras.obj &
|
|
src/smix.obj &
|
|
src/filetype.obj &
|
|
src/memio.obj &
|
|
src/tempfile.obj &
|
|
src/mix_paula.obj &
|
|
src/miniz_tinfl.obj &
|
|
src/win32.obj &
|
|
src/loaders/common.obj &
|
|
src/loaders/iff.obj &
|
|
src/loaders/itsex.obj &
|
|
src/loaders/lzw.obj &
|
|
src/loaders/voltable.obj &
|
|
src/loaders/sample.obj &
|
|
src/loaders/vorbis.obj &
|
|
src/loaders/xm_load.obj &
|
|
src/loaders/mod_load.obj &
|
|
src/loaders/s3m_load.obj &
|
|
src/loaders/stm_load.obj &
|
|
src/loaders/669_load.obj &
|
|
src/loaders/far_load.obj &
|
|
src/loaders/mtm_load.obj &
|
|
src/loaders/ptm_load.obj &
|
|
src/loaders/okt_load.obj &
|
|
src/loaders/ult_load.obj &
|
|
src/loaders/mdl_load.obj &
|
|
src/loaders/it_load.obj &
|
|
src/loaders/stx_load.obj &
|
|
src/loaders/pt3_load.obj &
|
|
src/loaders/sfx_load.obj &
|
|
src/loaders/flt_load.obj &
|
|
src/loaders/st_load.obj &
|
|
src/loaders/emod_load.obj &
|
|
src/loaders/imf_load.obj &
|
|
src/loaders/digi_load.obj &
|
|
src/loaders/fnk_load.obj &
|
|
src/loaders/ice_load.obj &
|
|
src/loaders/liq_load.obj &
|
|
src/loaders/ims_load.obj &
|
|
src/loaders/masi_load.obj &
|
|
src/loaders/masi16_load.obj &
|
|
src/loaders/amf_load.obj &
|
|
src/loaders/stim_load.obj &
|
|
src/loaders/mmd_common.obj &
|
|
src/loaders/mmd1_load.obj &
|
|
src/loaders/mmd3_load.obj &
|
|
src/loaders/rtm_load.obj &
|
|
src/loaders/dt_load.obj &
|
|
src/loaders/no_load.obj &
|
|
src/loaders/arch_load.obj &
|
|
src/loaders/sym_load.obj &
|
|
src/loaders/med2_load.obj &
|
|
src/loaders/med3_load.obj &
|
|
src/loaders/med4_load.obj &
|
|
src/loaders/dbm_load.obj &
|
|
src/loaders/umx_load.obj &
|
|
src/loaders/gdm_load.obj &
|
|
src/loaders/pw_load.obj &
|
|
src/loaders/gal5_load.obj &
|
|
src/loaders/gal4_load.obj &
|
|
src/loaders/mfp_load.obj &
|
|
src/loaders/asylum_load.obj &
|
|
src/loaders/muse_load.obj &
|
|
src/loaders/hmn_load.obj &
|
|
src/loaders/mgt_load.obj &
|
|
src/loaders/chip_load.obj &
|
|
src/loaders/abk_load.obj &
|
|
src/loaders/coco_load.obj &
|
|
src/loaders/xmf_load.obj &
|
|
|
|
PROWIZ_OBJS= &
|
|
src/loaders/prowizard/prowiz.obj &
|
|
src/loaders/prowizard/ptktable.obj &
|
|
src/loaders/prowizard/tuning.obj &
|
|
src/loaders/prowizard/ac1d.obj &
|
|
src/loaders/prowizard/di.obj &
|
|
src/loaders/prowizard/eureka.obj &
|
|
src/loaders/prowizard/fc-m.obj &
|
|
src/loaders/prowizard/fuchs.obj &
|
|
src/loaders/prowizard/fuzzac.obj &
|
|
src/loaders/prowizard/gmc.obj &
|
|
src/loaders/prowizard/heatseek.obj &
|
|
src/loaders/prowizard/ksm.obj &
|
|
src/loaders/prowizard/mp.obj &
|
|
src/loaders/prowizard/np1.obj &
|
|
src/loaders/prowizard/np2.obj &
|
|
src/loaders/prowizard/np3.obj &
|
|
src/loaders/prowizard/p61a.obj &
|
|
src/loaders/prowizard/pm10c.obj &
|
|
src/loaders/prowizard/pm18a.obj &
|
|
src/loaders/prowizard/pha.obj &
|
|
src/loaders/prowizard/prun1.obj &
|
|
src/loaders/prowizard/prun2.obj &
|
|
src/loaders/prowizard/tdd.obj &
|
|
src/loaders/prowizard/unic.obj &
|
|
src/loaders/prowizard/unic2.obj &
|
|
src/loaders/prowizard/wn.obj &
|
|
src/loaders/prowizard/zen.obj &
|
|
src/loaders/prowizard/tp1.obj &
|
|
src/loaders/prowizard/tp3.obj &
|
|
src/loaders/prowizard/p40.obj &
|
|
src/loaders/prowizard/xann.obj &
|
|
src/loaders/prowizard/theplayer.obj &
|
|
src/loaders/prowizard/pp10.obj &
|
|
src/loaders/prowizard/pp21.obj &
|
|
src/loaders/prowizard/starpack.obj &
|
|
src/loaders/prowizard/titanics.obj &
|
|
src/loaders/prowizard/skyt.obj &
|
|
src/loaders/prowizard/novotrade.obj &
|
|
src/loaders/prowizard/hrt.obj &
|
|
src/loaders/prowizard/noiserun.obj &
|
|
|
|
DEPACKER_OBJS= &
|
|
src/depackers/depacker.obj &
|
|
src/depackers/ppdepack.obj &
|
|
src/depackers/unsqsh.obj &
|
|
src/depackers/mmcmp.obj &
|
|
src/depackers/s404_dec.obj &
|
|
src/depackers/arc.obj &
|
|
src/depackers/arcfs.obj &
|
|
src/depackers/arc_unpack.obj &
|
|
src/depackers/lzx.obj &
|
|
src/depackers/lzx_unpack.obj &
|
|
src/depackers/miniz_zip.obj &
|
|
src/depackers/unzip.obj &
|
|
src/depackers/gunzip.obj &
|
|
src/depackers/uncompress.obj &
|
|
src/depackers/bunzip2.obj &
|
|
src/depackers/unlha.obj &
|
|
src/depackers/unxz.obj &
|
|
src/depackers/xz_dec_lzma2.obj &
|
|
src/depackers/xz_dec_stream.obj &
|
|
src/depackers/crc32.obj &
|
|
src/depackers/xfnmatch.obj &
|
|
src/depackers/ptpopen.obj &
|
|
src/depackers/xfd.obj &
|
|
src/depackers/xfd_link.obj &
|
|
src/depackers/lhasa/ext_header.obj &
|
|
src/depackers/lhasa/lha_file_header.obj &
|
|
src/depackers/lhasa/lha_input_stream.obj &
|
|
src/depackers/lhasa/lha_decoder.obj &
|
|
src/depackers/lhasa/lha_reader.obj &
|
|
src/depackers/lhasa/lha_basic_reader.obj &
|
|
src/depackers/lhasa/lh1_decoder.obj &
|
|
src/depackers/lhasa/lh5_decoder.obj &
|
|
src/depackers/lhasa/lh6_decoder.obj &
|
|
src/depackers/lhasa/lh7_decoder.obj &
|
|
src/depackers/lhasa/lhx_decoder.obj &
|
|
src/depackers/lhasa/lk7_decoder.obj &
|
|
src/depackers/lhasa/lz5_decoder.obj &
|
|
src/depackers/lhasa/lzs_decoder.obj &
|
|
src/depackers/lhasa/null_decoder.obj &
|
|
src/depackers/lhasa/pm1_decoder.obj &
|
|
src/depackers/lhasa/pm2_decoder.obj &
|
|
src/depackers/lhasa/macbinary.obj &
|
|
|
|
ALL_OBJS=$(OBJS)
|
|
!ifeq USE_PROWIZARD 1
|
|
ALL_OBJS+= $(PROWIZ_OBJS)
|
|
!endif
|
|
!ifeq USE_DEPACKERS 1
|
|
ALL_OBJS+= $(DEPACKER_OBJS)
|
|
!endif
|
|
TEST_OBJS=test/md5.obj test/test.obj
|
|
|
|
all: $(BLD_TARGET)
|
|
|
|
#.SUFFIXES: .obj .c
|
|
|
|
.c: src;src/depackers;src/depackers/lhasa;src/loaders;src/loaders/prowizard;test
|
|
.c.obj:
|
|
$(CC) $(LIBFLAGS) -fo=$^@ $<
|
|
|
|
test/md5.obj: src/md5.c
|
|
$(CC) $(CFLAGS) -fo=$^@ $<
|
|
|
|
test/test.obj: test/test.c
|
|
$(CC) $(CFLAGS) -fo=$^@ $<
|
|
|
|
# rely on symbol name, not ordinal: -irn switch of wlib is default, but -inn is not.
|
|
$(DLLNAME) $(LIBNAME) $(EXPNAME): $(ALL_OBJS)
|
|
wlink NAM $(DLLNAME) SYSTEM $(SYSTEM_DLL) INITINSTANCE TERMINSTANCE OP QUIET FIL {$(ALL_OBJS)} OP IMPF=$(EXPNAME) OP MAP=$(MAPNAME)
|
|
wlib -q -b -n -c -pa -s -t -zld -ii -io -inn $(LIBNAME) +$(DLLNAME)
|
|
|
|
$(LIBSTATIC): $(ALL_OBJS)
|
|
wlib -q -b -n -c -pa -s -t -zld -ii -io $@ $(ALL_OBJS)
|
|
|
|
test/$(TESTNAME): $(BLD_LIB) $(TEST_OBJS)
|
|
wlink NAM test/$(TESTNAME) SYSTEM $(SYSTEM) OP QUIET LIBR {$(BLD_LIB)} FIL {$(TEST_OBJS)}
|
|
|
|
check-build: test/$(TESTNAME) .symbolic
|
|
!ifneq target static
|
|
$(CMD_CP) $(DLLNAME) test
|
|
!endif
|
|
|
|
check: check-build .symbolic
|
|
cd test & $(TESTNAME)
|
|
|
|
clean: .symbolic
|
|
rm -f $(OBJS)
|
|
rm -f $(DEPACKER_OBJS)
|
|
rm -f $(PROWIZ_OBJS)
|
|
rm -f $(TEST_OBJS)
|
|
|
|
distclean: clean .symbolic
|
|
rm -f *.err
|
|
rm -f $(DLLNAME) $(EXPNAME) $(MAPNAME) $(LIBNAME) $(LIBSTATIC) test/$(DLLNAME) test/$(TESTNAME)
|
|
|
|
!ifdef __UNIX__
|
|
CMD_CP=cp
|
|
!else
|
|
CMD_CP=copy
|
|
!endif
|