# General build makefile, only for examples.
prefix ?=
export prefix

PROJECT ?= seamax
EXPDIR :=  "$(prefix)/usr/local/share/${PROJECT}"
APPDIR := "$(prefix)/usr/local/bin"

CXX ?=     /usr/bin/g++
MKDIR ?=   /bin/mkdir
CP ?=      /bin/cp
RM ?=      /bin/rm


## ============================================================================
MODEL = LinSSD
OBJS = TestIt.o
APP = linssd

SEALEVEL_LIBS := ../../lib/seamax/libseamax++.so
SEALEVEL_LIBS += ../../lib/cethernet/libcethernet++.so

CFLAGS = -g -fomit-frame-pointer -Wall -O2 -I../../include
LIBFLG = -L../../lib/seamax -L../../lib/cethernet -lseamax++ -lcethernet++ -ldl


## ============================================================================
all: build
	@echo

build: $(APP)

$(APP): $(OBJS) $(SEALEVEL_LIBS)
	@$(CXX) $(CFLAGS) $(OBJS) -o$@  $(LIBFLG)
	@echo "   *$@ created"

$(SEALEVEL_LIBS):%.so: FORCE
	@$(MAKE) -C "`dirname $@`" `basename $@`

objs: $(OBJS)
	@echo

%.o: %.cpp %.h
	@echo "   *Compiling ${MODEL} example source file: ${*}.cpp"
	@$(CXX) $(CFLAGS) -c $<

install: $(APP)
	@echo "   *Installing ${MODEL} executables to ${APPDIR}/"
	@install -m 0755 -o root -g root -dv "$(APPDIR)"
	@install -m 0755 -o root -g root -dv "$(EXPDIR)"
	@$(CP) -f $(APP) "$(APPDIR)/."
	@echo "   *Installing $(APP) source to $(EXPDIR)/$(APP)"
	@$(MKDIR) -p "$(EXPDIR)/$(APP)"
	@$(CP) Makefile.installed "$(EXPDIR)/$(APP)/Makefile"
	@$(CP) -r * "$(EXPDIR)/$(APP)/."
	@echo

clean: 
	@echo "   *Removing $(APP) example."
	@$(RM) -rf $(OBJS) $(APP)
	@echo "     $(APP) removed."
	@echo

FORCE:
