###########################################
# flrec Makefile
# Autore: Matteo Lucarelli
###########################################

SOURCES = Fl_Simple_File_Chooser.cpp flrecUIeffects.cpp flrecUIsettings.cpp flrecUImain.cpp main.c
EXECUTABLE = flrec
LD_LIBS = -lpthread
ST_LIBS = `fltk-config --ldstaticflags`

CFLAGSALL = -Wall -c `fltk-config --cxxflags`
LDFLAGSALL = -Wall
OFLAGS = -O2
CC=g++

FOBJECTS=$(SOURCES:.cpp=.o)
OBJECTS=$(FOBJECTS:.c=.o)

all: CFLAGS = $(CFLAGSALL) $(OFLAGS)
all: LDFLAGS = $(LDFLAGSALL) $(OFLAGS)
all: $(SOURCES) $(EXECUTABLE)
	@ echo "Build DONE"

debug: CFLAGS = $(CFLAGSALL) -g
debug: LDFLAGS = $(LDFLAGSALL) -g
debug: $(SOURCES) $(EXECUTABLE)
	@ echo "Build DONE (Debug Mode)"

$(EXECUTABLE): $(OBJECTS)
	$(CC) $(LDFLAGS) $(LD_LIBS) -o $@ $(OBJECTS) $(ST_LIBS)

.cpp.o:
	$(CC) $(CFLAGS) -o $@ $<
.c.o:
	$(CC) $(CFLAGS) -o $@ $<

clean:
	rm -f $(OBJECTS) $(EXECUTABLE)

help:
	@ echo " Makefile for flrec"
	@ echo " Targets are:"
	@ echo "   all     : (default) compile all"
	@ echo "   debug   : compile with debug info"
	@ echo "   clean   : remove compiled files"
	@ echo "   help    : print this help message"
	@ echo "   install : install binary and man page (/usr/local/)"
	@ echo " NOTE: switching between debug and release requires clean!"

install:
	install -d /usr/local/bin /usr/local/man/man1
	install -s flrec /usr/local/bin
	install -m 644 flrec.1.gz /usr/local/share/man/man1
