prefix = /usr/local
exec_prefix = ${prefix}
bindir = ${exec_prefix}/bin
mandir = ${prefix}/man
man1dir = ${mandir}/man1

CC = gcc
AR = ar rc
XASM = xasm -q
INSTALL = ./install-sh
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644

CFLAGS = -O2 -Wall
LDFLAGS = -s
DEFS = -DPACKAGE_NAME=\"asap\" -DPACKAGE_TARNAME=\"asap\" -DPACKAGE_VERSION=\"1.2.0\" -DPACKAGE_STRING=\"asap\ 1.2.0\" -DPACKAGE_BUGREPORT=\"fox@scene.pl\" 
LIBS = 
ASAP2WAV = asap2wav
ASAPLIB = asap.a
XMMS_CFLAGS = NOT_CONFIGURED
XMMS_LIBS = NOT_CONFIGURED
XMMS_INPUT_PLUGIN_DIR = NOT_CONFIGURED
XMMS_USER_PLUGIN_DIR = ${HOME}/.xmms/Plugins
MOC_INCLUDE = ../moc-2.4.3
MOC_PLUGIN_DIR = /usr/local/lib/moc/decoder_plugins

COMMON_C = asap.c acpu.c apokeysnd.c
COMMON_H = asap.h asap_internal.h players.h
PLAYERS_OBX = players/cmc.obx players/mpt.obx players/rmt4.obx players/rmt8.obx players/tmc.obx players/tm2.obx

all: ${ASAP2WAV} asap-xmms

${ASAP2WAV}: asap2wav.c ${COMMON_C} ${COMMON_H}
	${CC} ${CFLAGS} ${LDFLAGS} -o $@ ${DEFS} -I. asap2wav.c ${COMMON_C} ${LIBS}

lib: ${ASAPLIB}

${ASAPLIB}: ${COMMON_C} ${COMMON_H}
	${CC} -c ${CFLAGS} ${DEFS} -I. ${COMMON_C} ${LIBS}
	${AR} $@ asap.o acpu.o apokeysnd.o

asap-xmms: libasap.so

libasap.so: xmms/libasap.c ${COMMON_C} ${COMMON_H}
	${CC} ${CFLAGS} ${XMMS_CFLAGS} ${LDFLAGS} -shared -fPIC -Wl,--version-script=xmms/libasap.map -o $@ ${DEFS} -I. xmms/libasap.c ${COMMON_C} ${LIBS} ${XMMS_LIBS}

asap-moc: libasap_decoder.so

libasap_decoder.so: moc/libasap_decoder.c ${COMMON_C} ${COMMON_H}
	${CC} ${CFLAGS} -shared -fPIC -o $@ ${DEFS} -I. -I${MOC_INCLUDE} moc/libasap_decoder.c ${COMMON_C}

players.h: raw2c.pl ${PLAYERS_OBX}
	perl raw2c.pl ${PLAYERS_OBX} >$@

players/cmc.obx: players/cmc.asx
	${XASM} -o $@ players/cmc.asx

players/mpt.obx: players/mpt.asx
	${XASM} -o $@ players/mpt.asx

players/rmt4.obx: players/rmt.asx
	${XASM} -d STEREOMODE=0 -o $@ players/rmt.asx

players/rmt8.obx: players/rmt.asx
	${XASM} -d STEREOMODE=1 -o $@ players/rmt.asx

players/tmc.obx: players/tmc.asx
	${XASM} -o $@ players/tmc.asx

players/tm2.obx: players/tm2.asx
	${XASM} -o $@ players/tm2.asx

install: install-asap2wav install-xmms

install-asap2wav: ${ASAP2WAV} asap2wav.1
	${INSTALL_PROGRAM} ${ASAP2WAV} ${bindir}/${ASAP2WAV}
	${INSTALL_DATA} asap2wav.1 ${man1dir}/asap2wav.1

uninstall-asap2wav:
	rm -f ${bindir}/${ASAP2WAV} ${man1dir}/asap2wav.1

install-xmms: libasap.so
	${INSTALL_PROGRAM} libasap.so ${XMMS_INPUT_PLUGIN_DIR}/libasap.so

uninstall-xmms:
	rm -f ${XMMS_INPUT_PLUGIN_DIR}/libasap.so

install-user: libasap.so
	${INSTALL_PROGRAM} libasap.so ${XMMS_USER_PLUGIN_DIR}/libasap.so

uninstall-user:
	rm -f ${XMMS_USER_PLUGIN_DIR}/libasap.so

install-moc: libasap_decoder.so
	${INSTALL_PROGRAM} libasap_decoder.so ${MOC_PLUGIN_DIR}/libasap_decoder.so

uninstall-moc:
	rm -f ${MOC_PLUGIN_DIR}/libasap_decoder.so

clean:
	rm -f players.h ${ASAP2WAV} ${ASAPLIB} libasap.so libasap_decoder.so

distclean: clean
	rm -f Makefile config.log config.status config.h configure config.h.in
	rm -rf autom4te.cache
