#
# A make file to build the Fl_Audio_Meter widget
#

# Standard defines:
CXX = g++
CXX_FLAGS = -O -Wall `fltk-config --cxxflags`

PREFIX = /usr/local

STATIC_LIBRARY = libfltk_audio_meter.a
DYNAMIC_LIBRARY = libfltk_audio_meter.so.1.0
STATIC_OBJS = Fl_Audio_Meter.o
DYNAMIC_OBJS = Fl_Audio_Meter.lo

#@# Targets follow ---------------------------------

all:	 $(STATIC_LIBRARY) $(DYNAMIC_LIBRARY)

example: example.cxx
	$(CXX) `fltk-config --cxxflags` -o example example.cxx -lfltk_audio_meter `fltk-config --ldflags`

install: $(STATIC_LIBRARY) $(DYNAMIC_LIBRARY)
	mkdir -p $(PREFIX)/lib
	mkdir -p $(PREFIX)/include
	mkdir -p $(PREFIX)/include/FL
	install -m 644 Fl_Audio_Meter.H $(PREFIX)/include/FL
	install -m 755 $(DYNAMIC_LIBRARY) $(PREFIX)/lib
	( cd $(PREFIX)/lib ; ln -sf libfltk_audio_meter.so.1.0 libfltk_audio_meter.so.1 )
	( cd $(PREFIX)/lib ; ln -sf libfltk_audio_meter.so.1.0 libfltk_audio_meter.so )
	install -m 644 $(STATIC_LIBRARY) $(PREFIX)/lib
	/sbin/ldconfig

$(STATIC_LIBRARY): $(STATIC_OBJS)
	ar rcs $(STATIC_LIBRARY) $(STATIC_OBJS)
	ranlib $(STATIC_LIBRARY)

$(DYNAMIC_LIBRARY): $(DYNAMIC_OBJS)
	$(CC) -shared -Wl,-soname,libfltk_audio_meter.so.1 -o $@ $(DYNAMIC_OBJS)
	/sbin/ldconfig -n .
	ln -sf libfltk_audio_meter.so.1 libfltk_audio_meter.so

clean:
	rm -f *.o *.so *.so.* *.lo
	rm -f $(STATIC_LIBRARY) $(DYNAMIC_LIBRARY)
	rm -f example

#@# Dependency rules follow -----------------------------

Fl_Audio_Meter.lo: Fl_Audio_Meter.cxx Fl_Audio_Meter.H
	$(CXX) -fPIC $(CXX_FLAGS) -c -o $@ $<

Fl_Audio_Meter.o: Fl_Audio_Meter.cxx Fl_Audio_Meter.H
	$(CXX) $(CXX_FLAGS) -c -o $@ $<
