File: Makefile.am

package info (click to toggle)
nut 2.8.4%2Breally-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 25,720 kB
  • sloc: ansic: 132,030; sh: 17,256; cpp: 12,566; makefile: 5,646; python: 1,114; perl: 856; xml: 47
file content (137 lines) | stat: -rw-r--r-- 6,125 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
# Network UPS Tools: scripts/Solaris

EXTRA_DIST = makelocal.sh precheck.py.in preproto.pl.in README.adoc
PROTOTYPE_DIR = $(DESTDIR)@prefix@
SOLARIS_CHECK_TARGETS =
PYTHON = @PYTHON@

SOLARIS_SMF_MANIFESTS = \
	nut.xml \
	nut-server.xml \
	nut-logger.xml \
	nut-monitor.xml \
	nut-driver.xml \
	nut-driver-enumerator.xml

SOLARIS_SMF_METHODSCRIPTS = \
	svc-nut-server \
	svc-nut-logger \
	svc-nut-monitor

if WITH_SOLARIS_SMF
# OS equivalent of /lib/svc/method and /var/svc/manifest/application
# but we can just use then from this location
solarissmfmethoddir = @datadir@/solaris-smf/method
solarissmfmanifestdir = @datadir@/solaris-smf/manifest
solarissmfmethod_SCRIPTS = $(SOLARIS_SMF_METHODSCRIPTS)
solarissmfmanifest_DATA = $(SOLARIS_SMF_MANIFESTS)

libexec_SCRIPTS = ../upsdrvsvcctl/nut-driver-enumerator.sh

sbin_SCRIPTS = ../upsdrvsvcctl/upsdrvsvcctl

SOLARIS_CHECK_TARGETS += check-local-solaris-smf
endif

if WITH_SOLARIS_INIT
solarisinitscriptdir = @datadir@/solaris-init
solarisinitscript_SCRIPTS = nut reset-ups-usb-solaris.sh.sample
endif

EXTRA_DIST += reset-ups-usb-solaris.sh.sample

SOLARIS_PACKAGE_TARGETS =

if WITH_SOLARIS_PKG_IPS
SOLARIS_PACKAGE_TARGETS += package-solaris-ips
endif

if WITH_SOLARIS_PKG_SVR4
SOLARIS_PACKAGE_TARGETS += package-solaris-svr4
endif

package: $(SOLARIS_PACKAGE_TARGETS)

# TODO: Reduce build dependencies (implicit!) on python and perl
#       by shelling the scripts used below
# NOTE: This assumes the rest of the product has already been built
#       and installed under PROTOTYPE_DIR, but declares no explicit
#       dependency on that
SOLARIS_PACKAGE_SVR4_HELPERSCRIPTS = makelocal.sh precheck.py preproto.pl
SOLARIS_PACKAGE_SVR4_INSTALLSCRIPTS = preinstall postinstall preremove postremove
SOLARIS_PACKAGE_SVR4_INSTALLDATA = pkginfo
package-solaris-svr4: $(SOLARIS_PACKAGE_SVR4_HELPERSCRIPTS) $(SOLARIS_PACKAGE_SVR4_INSTALLSCRIPTS) $(SOLARIS_PACKAGE_SVR4_INSTALLDATA)
	ISANAME=''; case x"$(target_cpu)" in \
		xi386|xsparc|xsparcv9|xamd64)	ISANAME='$(target_cpu)' ;; \
		xx86_64)	ISANAME='amd64' ;; \
		xi686)	ISANAME='i386' ;; \
		xsparcv7)ISANAME='sparc' ;; \
		x) UNAME_P="`uname -p`" && ISANAME="$${UNAME_P}" ;; \
	esac ; \
	ISABITS=32; case x"$${ISANAME}" in \
		xi386|xsparc)	ISABITS=32 ;; \
		xsparcv9|xamd64)	ISABITS=64 ;; \
		x*) echo "WARNING: Unexpected ISANAME='$${ISANAME}'" >&2 ;; \
	esac; \
	case x"$${ISABITS}" in \
		x32)	ISA_PKGNAME="NUT" ;; \
		x64)	ISA_PKGNAME="NUTx" ;; \
	esac; \
	sed -e 's/^PKG="[^"][^"]*"$$/PKG="'"$${ISA_PKGNAME}"'"/' -i $(builddir)/pkginfo || exit ; \
	if test -n "@auglensdir@" && test -d "$(DESTDIR)@auglensdir@" ; then \
		$(MKDIR_P) "$(DESTDIR)@datadir@/augeas-lenses" && \
		( cd "$(DESTDIR)@auglensdir@" && \
		  ( cp -prf ./ "$(DESTDIR)@datadir@/augeas-lenses/" || cp -rf ./ "$(DESTDIR)@datadir@/augeas-lenses/" ) ) || exit ; \
	fi ; \
	( cd $(PROTOTYPE_DIR) && find . -print | pkgproto > prototype1 ) || exit ; \
	cp $(SOLARIS_PACKAGE_SVR4_HELPERSCRIPTS) $(SOLARIS_PACKAGE_SVR4_INSTALLSCRIPTS) $(SOLARIS_PACKAGE_SVR4_INSTALLDATA) $(PROTOTYPE_DIR) || exit ; \
	( cd $(PROTOTYPE_DIR) && chmod +x $(SOLARIS_PACKAGE_SVR4_HELPERSCRIPTS) $(SOLARIS_PACKAGE_SVR4_INSTALLSCRIPTS) ) || exit ; \
	( cd $(PROTOTYPE_DIR) && perl preproto.pl ) || exit ; \
	if test -n '$(PYTHON)' ; then \
		( cd $(PROTOTYPE_DIR) && $(PYTHON) precheck.py ) || exit ; \
	fi ; \
	( cd $(PROTOTYPE_DIR) && rm -f prototype1 ) || exit ; \
	( cd $(PROTOTYPE_DIR) && ./makelocal.sh ) || exit ; \
	cp $(PROTOTYPE_DIR)/*.gz $(builddir) || exit ; \
	if [ -n "$${ISANAME}" ] ; then \
		mv -f NUT*_solaris_package.local.gz "$(abs_top_builddir)/$${ISA_PKGNAME}_solaris_$${ISANAME}_package-@PACKAGE_VERSION@.local.gz" || exit ; \
	fi

# TODO: Define support for IPS packaging (provide p5m files and make rules)
package-solaris-ips:
	@echo "  SKIP	$@ : Target is not implemented yet"

check-local: $(SOLARIS_CHECK_TARGETS)

check-local-solaris-smf: $(SOLARIS_SMF_MANIFESTS)
	@[ -x /usr/sbin/svccfg ] || { echo "WARNING : Target $@ skipped due to absent /usr/sbin/svccfg" >&2; return 0; } ; \
	 RES=0 ; for F in $? ; do \
	    echo "  SVCCFG-VALIDATE	$$F"; \
	    /usr/sbin/svccfg validate "$$F" || RES=$$? ; \
	 done; exit $$RES

SPELLCHECK_SRC = README.adoc

# NOTE: Due to portability, we do not use a GNU percent-wildcard extension.
# We also have to export some variables that may be tainted by relative
# paths when parsing the other makefile (e.g. MKDIR_P that may be defined
# via expanded $(top_builddir)/install-sh):
#%-spellchecked: % Makefile.am $(top_srcdir)/docs/Makefile.am $(abs_srcdir)/$(NUT_SPELL_DICT)
#	+$(MAKE) -s -f $(top_builddir)/docs/Makefile $(AM_MAKEFLAGS) MKDIR_P="$(MKDIR_P)" builddir="$(builddir)" srcdir="$(srcdir)" top_builddir="$(top_builddir)" top_srcdir="$(top_srcdir)" SPELLCHECK_SRC_ONE="$<" SPELLCHECK_SRCDIR="$(srcdir)" SPELLCHECK_BUILDDIR="$(builddir)" $@

# NOTE: Portable suffix rules do not allow prerequisites, so we shim them here
# by a wildcard target in case the make implementation can put the two together.
*-spellchecked: Makefile.am $(top_srcdir)/docs/Makefile.am $(abs_srcdir)/$(NUT_SPELL_DICT)

.sample.sample-spellchecked:
	+$(MAKE) -s -f $(top_builddir)/docs/Makefile $(AM_MAKEFLAGS) MKDIR_P="$(MKDIR_P)" builddir="$(builddir)" srcdir="$(srcdir)" top_builddir="$(top_builddir)" top_srcdir="$(top_srcdir)" SPELLCHECK_SRC_ONE="$<" SPELLCHECK_SRCDIR="$(srcdir)" SPELLCHECK_BUILDDIR="$(builddir)" $@

.in.in-spellchecked:
	+$(MAKE) -s -f $(top_builddir)/docs/Makefile $(AM_MAKEFLAGS) MKDIR_P="$(MKDIR_P)" builddir="$(builddir)" srcdir="$(srcdir)" top_builddir="$(top_builddir)" top_srcdir="$(top_srcdir)" SPELLCHECK_SRC_ONE="$<" SPELLCHECK_SRCDIR="$(srcdir)" SPELLCHECK_BUILDDIR="$(builddir)" $@

spellcheck spellcheck-interactive spellcheck-sortdict:
	+$(MAKE) -f $(top_builddir)/docs/Makefile $(AM_MAKEFLAGS) MKDIR_P="$(MKDIR_P)" builddir="$(builddir)" srcdir="$(srcdir)" top_builddir="$(top_builddir)" top_srcdir="$(top_srcdir)" SPELLCHECK_SRC="$(SPELLCHECK_SRC)" SPELLCHECK_SRCDIR="$(srcdir)" SPELLCHECK_BUILDDIR="$(builddir)" $@

CLEANFILES = *-spellchecked

MAINTAINERCLEANFILES = Makefile.in .dirstamp