 # $Id$
 #
 # This file is part of the RHexLib Robot Control Software
 #
 #  The contents of this file are subject to the RHexLib Public
 # License Version 2.0 (the "License"); you may not use this file
 # except in compliance with the License. To obtain a copy of the
 # License, please contact <ulucs+rhexlib@cs.cmu.edu>.
 #
 #  Software distributed under the License is distributed on an "AS
 # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
 # implied. See the License for the specific language governing
 # rights and limitations under the License.
 #
 #  The Original Code is RHexLib Robot Control Software.
 #
 #  The Initial Developer of the Original Code is
 #    Carnegie Mellon University
 #
 #  Portions created by 
 #    Carnegie Mellon University
 # are Copyright (C) 2003.  All Rights Reserved.
 #
 #  Contributor(s): Uluc Saranli.
 #
 #  Alternatively, the contents of this file may be used under the
 # terms of the GNU Public license (the "GPL License"), in which
 # case the provisions of the GNU Public License are applicable
 # instead of those above.  If you wish to allow use of your version
 # of this file only under the terms of the GPL License and not to
 # allow others to use your version of this file under the RHexLib
 # Public License, indicate your decision by deleting the provisions
 # above and replace them with the notice and other provisions
 # required by the GPL License.  If you do not delete the provisions
 # above, a recipient may use your version of this file under either
 # the RHexLib Public License or the GPL License."
 #
 # Uluc Saranli <ulucs+rhexlib@cs.cmu.edu>

 ######################################################################
 # $Id$
 ######################################################################

# First, check whether we can access the RHexLib directory.
ifndef LIBS_TOPDIR
$(error LIBS_TOPDIR environment variable is not defined!)
endif

FILES = JoyStick \
	BBAccessor PanelManager TemplateEditor ControlPanel \
	ChooseBrowser WidgetPanel PanelWidgets WidgetPanelCB \
	ChoiceAddDialog BaseGUI BaseIntf MsgLogGUI MsgLogFL \
	ModeGUI PanelGUI PlotGUI PlotIntf PlotPrefIntf PlotCartesian

DEPLIBS = $(LIBS_TOPDIR)/lib/libbase.a \
	$(LIBS_TOPDIR)/lib/libutils.a $(LIBS_TOPDIR)/lib/libamulet.a

TARGETS = libgui.a

LIBS = $(patsubst lib%.a, -l%, $(notdir $(DEPLIBS))) \
	-lfltk -lXext -lX11 -lpthread -ljpeg -lpng -lz -lXft

CPPFLAGS = -D_XOPEN_SOURCE=500 -DAM_USES_MSL \
	-I. -Iinclude \
	-I$(LIBS_TOPDIR)/include/rhexlib \
	-I/usr/include \
	-I$(LIBS_TOPDIR)/include \
	-I$(LIBS_TOPDIR)/include/flame

CXXFLAGS = -c -Wall -g -Wno-deprecated

OBJS = $(foreach file,$(FILES), $(file).o) 
SRCS = $(foreach file,$(FILES), $(file).cc) paneltest.cc 
ALLDEP = $(patsubst %.cc,.deps/%.d,$(SRCS))

LDFLAGS = -L$(LIBS_TOPDIR)/lib -L/usr/X11R6/lib -L/usr/lib

all: $(TARGETS)

libgui.a: $(OBJS)
	ar rv $@ $?

paneltest: paneltest.o libgui.a
	$(CXX) -o $@ $^ $(LDFLAGS) libgui.a $(LIBS)

clean:
	@rm -rf $(TARGETS) paneltest *.o *.d *~ .deps 

### Dependencies
.deps/%.d:: %.cc
	@mkdir -p -m 775 .deps
	@echo Finding dependencies for $<
	@$(SHELL) -ec '$(CXX) -M $(CPPFLAGS) $< \
	              | sed '\''s~\($*\.o\)[ :]*~\1 $@ : ~g'\'' > $@ '

ifneq ($(MAKECMDGOALS),clean)

-include $(ALLDEP)

endif
