CC   = g++
mingw = false
WINDRES =
RES  =
LIBS = `curl-config --libs` `pkg-config --libs libmtp`
INCLUDE = -I../lib
BIN  = scrobble-cli
CURL_FLAGS =
MTP_FLAGS =
prefix = /usr/local
exec_prefix = $(prefix)
bindir = $(exec_prefix)/bin
mandir = $(prefix)/share/man/man1

ifneq ($(strip $(shell $(CC) -v 2>&1 |grep "mingw")),)
mingw = true
endif 

ifeq ($(strip $(mingw)), true)
    CURL_FLAGS=`curl-config --cflags`
    OBJ  = scrobble-cli.o libscrobble.o md5.o ConvertUTF.o $(RES)
    LINKOBJ  = scrobble-cli.o libscrobble.o md5.o ConvertUTF.o $(RES)
else
    CURL_FLAGS=`curl-config --cflags`
    MTP_FLAGS=`pkg-config --cflags libmtp` -DHAVE_LIBMTP
    OBJ  = scrobble-cli.o libscrobble.o md5.o ConvertUTF.o mtp.o $(RES)
    LINKOBJ  = scrobble-cli.o libscrobble.o md5.o ConvertUTF.o mtp.o $(RES)
endif

CFLAGS = -Wall -O2 -g $(INCLUDE) $(CURL_FLAGS) $(MTP_FLAGS)

.PHONY: all all-before all-after clean clean-custom

all: all-before scrobble-cli all-after

clean:
	rm -f *.o *~ *.d $(BIN) $(BIN).exe

$(BIN): $(OBJ)
	$(CC) $(LINKOBJ) -o $(BIN) $(LIBS)

scrobble-cli.o: scrobble-cli.cpp
	$(CC) -c scrobble-cli.cpp -o scrobble-cli.o $(CFLAGS)

libscrobble.o: ../lib/libscrobble.cpp
	$(CC) -c ../lib/libscrobble.cpp -o libscrobble.o $(CFLAGS)

md5.o: ../lib/md5.c
	$(CC) -c ../lib/md5.c -o md5.o $(CFLAGS)

ConvertUTF.o: ../lib/ConvertUTF.c
	$(CC) -c ../lib/ConvertUTF.c -o ConvertUTF.o $(CFLAGS)

mtp.o: ../lib/mtp-libmtp.cpp
	$(CC) -c ../lib/mtp-libmtp.cpp -o mtp.o $(CFLAGS)

install:
	install -D -m 755 scrobble-cli -p $(DESTDIR)$(bindir)/scrobble-cli
	install -D -m 444 scrobble-cli.1 -p $(DESTDIR)$(mandir)/scrobble-cli.1

uninstall:
	rm -f $(DESTDIR)$(bindir)/scrobble-cli
	rm -f $(DESTDIR)$(mandir)/scrobble-cli.1
