#!gmake
#
# Copyright (c) 2008 Aconex.  All Rights Reserved.
# 
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.
# 
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# for more details.
# 
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
# 

TOPDIR = ../../..
include $(TOPDIR)/src/include/builddefs

IAM	= systemtap
DOMAIN	= SYSTEMTAP
PMDADIR	= $(PCP_PMDAS_DIR)/$(IAM)
LSRCFILES = Install Remove pmda$(IAM).pl probes.stp

ifneq ($(POD2MAN),)
MAN_SECTION = 1
MAN_PAGES = pmda$(IAM).$(MAN_SECTION)
MAN_DEST = $(PCP_MAN_DIR)/man$(MAN_SECTION)
endif

LDIRT = domain.h root pmns *.log $(MAN_PAGES)

mydomain = $(shell sed -n -e '/PCP::PMDA->new/s/[^0-9]*$$//' -e '/PCP::PMDA->new/s/^[^0-9]*//p' pmda$(IAM).pl)

default: check_domain $(MAN_PAGES)

pmda$(IAM).1: pmda$(IAM).pl
	$(POD_MAKERULE)

include $(BUILDRULES)

install: default
ifeq "$(TARGET_OS)" "linux"
	$(INSTALL) -m 755 -d $(PMDADIR)
	$(INSTALL) -m 755 Install Remove $(PMDADIR)
	$(INSTALL) -m 644 probes.stp pmda$(IAM).pl $(PMDADIR)
	@$(INSTALL_MAN)
endif

default_pcp : default

install_pcp : install

check_domain:	../../pmns/stdpmid
	@$(PCP_AWK_PROG) <$< '\
BEGIN	{ domain = toupper("$(IAM)") }\
$$1=="#define" && $$2 == domain { pmd=$$3; found++ }\
END	{ if (found == 0) { print "Botch: no #define for domain " domain " in $<";  exit(1) }\
          if (found > 1) { print "Botch: multiple #defines for domain " domain " in $<"; exit(1) }\
	  if (pmd != $(mydomain)) { print "Botch: domain number in ../../pmns/stdpmid (" pmd ") does not match domain number in Perl source ($(mydomain))"; exit(1) }\
	  exit(0)\
	}'
