From ea5b5f171623740a74f1b2bef80527c044373502 Mon Sep 17 00:00:00 2001 From: Simon Howard Date: Sun, 23 Dec 2012 18:25:29 +0000 Subject: Add standalone build target for mus2mid binary. Subversion-branch: /branches/v2-branch Subversion-revision: 2551 --- src/Makefile.am | 3 +++ src/mus2mid.c | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) (limited to 'src') diff --git a/src/Makefile.am b/src/Makefile.am index 8f393089..a67660e2 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -234,3 +234,6 @@ endif midiread : midifile.c $(CC) -DTEST $(CFLAGS) @LDFLAGS@ $< -o $@ +mus2mid : mus2mid.c memio.c z_native.c i_system.c m_argv.c m_misc.c + $(CC) -DSTANDALONE -I$(top_builddir) $(CFLAGS) @LDFLAGS@ $^ -o $@ + diff --git a/src/mus2mid.c b/src/mus2mid.c index 88d24c97..739037e1 100644 --- a/src/mus2mid.c +++ b/src/mus2mid.c @@ -691,3 +691,46 @@ boolean mus2mid(MEMFILE *musinput, MEMFILE *midioutput) return false; } +#ifdef STANDALONE + +#include "m_misc.h" +#include "z_zone.h" + +int main(int argc, char *argv[]) +{ + MEMFILE *src, *dst; + byte *infile; + long infile_len; + void *outfile; + size_t outfile_len; + + if (argc != 3) + { + printf("Usage: %s \n", argv[0]); + exit(-1); + } + + Z_Init(); + + infile_len = M_ReadFile(argv[1], &infile); + + src = mem_fopen_read(infile, infile_len); + dst = mem_fopen_write(); + + if (mus2mid(src, dst)) + { + fprintf(stderr, "mus2mid() failed\n"); + exit(-1); + } + + // Write result to output file: + + mem_get_buf(dst, &outfile, &outfile_len); + + M_WriteFile(argv[2], outfile, outfile_len); + + return 0; +} + +#endif + -- cgit v1.2.3