Files
libxmp/test-dev/Makefile.vc
AliceLR c2ce363dda Fix support for most Farandole Composer effects and other features.
* Fixes support for the following previously broken FAR effects:
  `1?` Pitch offset up
  `2?` Pitch offset down
  `3?` Tone portamento
  `4?` Retrigger
  `5?` Set vibrato depth
  `6?` Vibrato
  `7?` Volume slide up
  `8?` Volume slide down
  `9?` Sustained vibrato
  `c?` Note offset
  `f?` Tempo

* Adds support for previously unimplemented FAR effects:
  `03` Fulfill loop
  `04` Old tempo mode
  `05` New tempo mode
  `a?` Slide-to-volume
  `b?` Balance
  `d?` Fine tempo down
  `e?` Fine tempo up

* Adds FAR effects loader test.
* Adds FAR effects regression tests.
* libxmp no longer ignores the header length field in FAR modules.
* libxmp now loads module comment text from FAR modules.
* libxmp now loads channel panning and mute values from FAR modules.

The portions of this patch related to tempo handling had to be
partially based on Dan Potter's example playercode, which *should*
be license friendly.
2021-11-19 20:36:51 -07:00

63 lines
1.4 KiB
Makefile

CC = cl
CFLAGS = /O2 /W3 /MD /I..\include /I..\src /DWIN32 \
/D_USE_MATH_DEFINES /D_CRT_SECURE_NO_WARNINGS
LDFLAGS = /RELEASE /OUT:$(EXE)
EXE = libxmp-tests.exe
TEST_SOURCES = \
util.c \
main.c \
simple_module.c \
compare_mixer_data.c \
XMP_SOURCES = \
..\src\md5.c \
..\src\win32.c \
..\src\hio.c \
..\src\load_helpers.c \
..\src\loaders\itsex.c \
..\src\dataio.c \
..\src\scan.c \
..\src\loaders\sample.c \
..\src\loaders\common.c \
..\src\filetype.c \
..\src\period.c \
..\src\memio.c \
..\src\depackers\xfnmatch.c \
..\src\far_extras.c \
..\src\lfo.c \
ALL_SOURCES = $(SOURCES) $(TEST_SOURCES) $(XMP_SOURCES)
TEMP_MAKEFILE = Makefile.vc.tmp
all: $(TEMP_MAKEFILE)
$(MAKE) -f $(TEMP_MAKEFILE) $(EXE)
$(EXE)
$(EXE): $(ALL_SOURCES) all_tests.c
copy ..\libxmp.lib .
copy ..\libxmp.dll .
$(CC) /MP /nologo $(CFLAGS) $(ALL_SOURCES) /link $(LDFLAGS) libxmp.lib
#
# To reduce the number of places the test names are duplicated to every time
# a test is added, generate a Makefile with the SOURCES variable from all_tests.txt.
#
$(TEMP_MAKEFILE): Makefile.vc all_tests.txt
echo|set /p ignore="SOURCES = " > $@
for /F "tokens=*" %%I in (all_tests.txt) do @echo %%I.c \>> $@
echo.>> $@
type Makefile.vc >> $@
all_tests.c: all_tests.txt
type nul > $@
for /F "tokens=*" %%I in ( $** ) do @echo declare_test(%%I); >> $@
clean:
del $(TEMP_MAKEFILE)
del libxmp.lib
del libxmp.dll
del *.obj
del $(EXE)