TARGETS=rpld

FF_OBJS=fformat.o ff_vclt.o ff_plain.o ff_m3u.o ff_rpld.o ff_pls.o ff_xspf.o
PROTO_OBJS=proto_simple.o proto_simple_vio.o proto_mpd.o
OBJS=rpld.o playlist.o client.o network.o playback.o store.o autoqueue.o yield.o rpldslp.o ${FF_OBJS} ${PROTO_OBJS}

MANPAGES_1 = rpld.1

BIN        = $(TARGETS)

TOOLS_LIST = rpld-addplaylist rpld-delplaylist rpld-import rpld-next rpld-prev rpld-play rpld-queueple rpld-setpointer rpld-stop rpld-store rpld-listq rpld-ctl rpld-listplaylists rpld-showplaying
TOOLS_DIR  = tools
TOOLS_MAN1_BASENAME = rpld-tools
TOOLS_MAN1 = $(TOOLS_DIR)/$(TOOLS_MAN1_BASENAME).1
TOOLS      = $(TOOLS_DIR)/rpld-addplaylist $(TOOLS_DIR)/rpld-delplaylist $(TOOLS_DIR)/rpld-import $(TOOLS_DIR)/rpld-next $(TOOLS_DIR)/rpld-prev $(TOOLS_DIR)/rpld-play $(TOOLS_DIR)/rpld-queueple $(TOOLS_DIR)/rpld-setpointer $(TOOLS_DIR)/rpld-stop $(TOOLS_DIR)/rpld-store $(TOOLS_DIR)/rpld-listq $(TOOLS_DIR)/rpld-ctl $(TOOLS_DIR)/rpld-listplaylists $(TOOLS_DIR)/rpld-showplaying

include Makefile.conf

#DEFINES  = -DDEBUG
DEFINES += $(def_uuid) $(def_slp) $(def_xml2)
DEFINES += -DROOT_UID=$(ROOT_UID) -DROAR_DBG_PREFIX=\"roarplaylistd\"
CFLAGS  += -Wall -Wextra -Wno-unused-parameter -Wno-sign-compare -g -O2 $(INCPATH) $(DEFINES)
LDFLAGS += -g $(LDPATH)

NETLIBS += $(lib_wsock32) $(lib_ws2_32)
LIBS    += $(lib_roar) $(lib_uuid) $(lib_slp) $(lib_xml2) $(NETLIBS)

all: ${TARGETS}
clean:
	rm -f ${TARGETS} *.o
new: clean all

distclean: clean
	rm -f config.log Makefile.conf

prep-install-dirs:
	mkdir -p '$(DESTDIR)$(PREFIX_BIN)'
	mkdir -p '$(DESTDIR)$(PREFIX_LIB)'
	mkdir -p '$(DESTDIR)$(PREFIX_INC)'
	mkdir -p '$(DESTDIR)$(PREFIX_MAN)'
	mkdir -p '$(DESTDIR)$(PREFIX_MAN)'/man1/

install: all prep-install-dirs install-rpld install-tools

install-rpld:
	cp $(cp_v) $(BIN)        '$(DESTDIR)$(PREFIX_BIN)'
	cp $(cp_v) $(MANPAGES_1) '$(DESTDIR)$(PREFIX_MAN)'/man1/

install-tools:
	cp $(cp_v) $(TOOLS)      '$(DESTDIR)$(PREFIX_BIN)'
	cp $(cp_v) $(TOOLS_MAN1) '$(DESTDIR)$(PREFIX_MAN)'/man1/
	set -e; for i in $(TOOLS_LIST); do ln -fs $(TOOLS_MAN1_BASENAME).1 '$(DESTDIR)$(PREFIX_MAN)'/man1/$$i.1; done

semi-install: all prep-install-dirs semi-install-rpld semi-install-tools

semi-install-rpld:
	ln -fs `pwd`/$(BIN)    '$(DESTDIR)$(PREFIX_BIN)'
	set -e; for i in $(MANPAGES_1); do ln -fs `pwd`/$$i '$(DESTDIR)$(PREFIX_MAN)'/man1/$$i; done

semi-install-tools:
	set -e; for i in $(TOOLS); do ln -fs `pwd`/$$i '$(DESTDIR)$(PREFIX_BIN)'; done
	ln -fs `pwd`/$(TOOLS_MAN1) '$(DESTDIR)$(PREFIX_MAN)'/man1/$(TOOLS_MAN1_BASENAME).1
	set -e; for i in $(TOOLS_LIST); do ln -fs `pwd`/$(TOOLS_MAN1) '$(DESTDIR)$(PREFIX_MAN)'/man1/$$i.1; done

uninstall:
	rm -f '$(DESTDIR)$(PREFIX_BIN)'/$(BIN)

rpld: ${OBJS}
	${CC} ${LDFLAGS} -o rpld ${OBJS} -lroar ${LIBS}
