#
# ***** BEGIN LICENSE BLOCK *****
# 
# Copyright (C) 2020-2022 Olof Hagsand and Rubicon Communications, LLC
#
# This file is part of CLIXON
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Alternatively, the contents of this file may be used under the terms of
# the GNU General Public License Version 3 or later (the "GPL"),
# in which case the provisions of the GPL 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, and not to allow others to
# use your version of this file under the terms of Apache License version 2, 
# indicate your decision by deleting the provisions above and replace them with
# the notice and other provisions required by the GPL. If you do not delete
# the provisions above, a recipient may use your version of this file under
# the terms of any one of the Apache License version 2 or the GPL.
#
# ***** END LICENSE BLOCK *****
#

srcdir  	= .
top_srcdir  	= ../..
prefix 		= /usr/local
bindir 		= ${exec_prefix}/bin
includedir	= ${prefix}/include
datarootdir     = ${prefix}/share
sysconfdir      = ${prefix}/etc
datarootdir	= ${prefix}/share
localstatedir   = ${prefix}/var
libdir          = ${prefix}/lib

APPNAME	        = hello

CC		= gcc
CFLAGS  	= -O2 -Wall -fPIC 
INSTALLFLAGS  	= -s 

INCLUDES 	=  
CPPFLAGS  	= -DHAVE_CONFIG_H  -fPIC

# Here is where example yang appears
YANG_INSTALLDIR  = /usr/local/share/clixon

# Local yang files to install
YANGSPECS	 = clixon-hello@2019-04-17.yang

.PHONY: all clean depend install 

all:

.SUFFIXES: .c .o

# implicit rule
.c.o:
	$(CC) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -c $<

CLISPECS = $(APPNAME)_cli.cli

clean:

distclean: clean
	rm -f Makefile *~ .depend

install: $(CLISPECS) $(APPNAME).xml
	install -d -m 0755 $(DESTDIR)$(sysconfdir)
	install -m 0644 $(APPNAME).xml $(DESTDIR)$(sysconfdir)
	install -d -m 0755 $(DESTDIR)$(libdir)/$(APPNAME)
	install -d -m 0755 $(DESTDIR)$(libdir)/$(APPNAME)/clispec
	install -m 0644 $(CLISPECS) $(DESTDIR)$(libdir)/$(APPNAME)/clispec
	install -d -m 0755 $(DESTDIR)$(localstatedir)
	install -d -m 0755 $(DESTDIR)$(localstatedir)/$(APPNAME)
	install -m 0644 startup_db $(DESTDIR)$(localstatedir)/$(APPNAME)/
	install -d -m 0755 $(DESTDIR)$(YANG_INSTALLDIR)
	install -m 0644 $(YANGSPECS) $(DESTDIR)$(YANG_INSTALLDIR)

uninstall: 
	rm -rf $(DESTDIR)$(sysconfdir)/$(APPNAME).xml
	rm -rf $(DESTDIR)$(libdir)/$(APPNAME)
	rm -rf $(DESTDIR)$(localstatedir)/$(APPNAME)
	for i in $(YANGSPEC) ; \
	do rm $(DESTDIR)$(YANG_INSTALLDIR)/$$i; done

depend:
	$(CC) $(DEPENDFLAGS) $(INCLUDES) $(CFLAGS) -MM $(SRC) > .depend

#include .depend

