# Visual Studio makefile for Windows: # nmake -f Makefile.vc # # To disable module depacker functionality: # nmake -f Makefile.vc USE_DEPACKERS=0 # # To disable ProWizard: # nmake -f Makefile.vc USE_PROWIZARD=0 # USE_DEPACKERS = 1 USE_PROWIZARD = 1 CC = cl CFLAGS = /O2 /W3 /MD /Iinclude /DBUILDING_DLL /DWIN32 \ /D_USE_MATH_DEFINES /D_CRT_SECURE_NO_WARNINGS #CFLAGS = $(CFLAGS) /DDEBUG LD = link LDFLAGS = /DLL /RELEASE /OUT:$(DLL) DLL = libxmp.dll !if $(USE_PROWIZARD)==0 CFLAGS = $(CFLAGS) /DLIBXMP_NO_PROWIZARD !endif !if $(USE_DEPACKERS)==0 CFLAGS = $(CFLAGS) /DLIBXMP_NO_DEPACKERS !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) !if $(USE_PROWIZARD)==1 ALL_OBJS = $(ALL_OBJS) $(PROWIZ_OBJS) !endif !if $(USE_DEPACKERS)==1 ALL_OBJS = $(ALL_OBJS) $(DEPACKER_OBJS) !endif TEST = src\md5.obj test\test.obj .c.obj: @$(CC) /c /nologo $(CFLAGS) /Fo$*.obj $< all: $(DLL) $(DLL): $(ALL_OBJS) $(LD) $(LDFLAGS) $(ALL_OBJS) clean: del $(OBJS) del $(DEPACKER_OBJS) del $(PROWIZ_OBJS) del $(TEST) del test\*.dll test\*.exe del $(DLL) *.lib *.exp check: $(TEST) $(LD) /RELEASE /OUT:test\libxmp-test.exe $(TEST) libxmp.lib copy libxmp.dll test cd test & libxmp-test