Imported Upstream version 2.6.1
[debian/amanda] / changer-src / Makefile.am
index 68c186ced9e66a56a31a23f7a967b9457df8b807..d37ef2df72bf8a3fa6ec5f7a1bf5a1a6c4611b00 100644 (file)
@@ -1,10 +1,22 @@
 # Makefile for Amanda tape changer programs.
 
-INCLUDES =             -I$(top_srcdir)/common-src -I$(top_srcdir)/server-src -I$(top_srcdir)/tape-src
+include $(top_srcdir)/config/automake/vars.am
+include $(top_srcdir)/config/automake/scripts.am
+include $(top_srcdir)/config/automake/installperms.am
+include $(top_srcdir)/config/automake/precompile.am
 
-LIB_EXTENSION = la
+INCLUDES =     -I$(top_builddir)/common-src \
+               -I$(top_srcdir)/common-src   \
+               -I$(top_srcdir)/device-src   \
+               -I$(top_srcdir)/gnulib
 
-if WANT_CHIO_SCSI
+AM_CFLAGS = $(AMANDA_WARNING_CFLAGS)
+AM_LDFLAGS = $(AMANDA_STATIC_LDFLAGS)
+
+LINT=$(AMLINT)
+LINTFLAGS=$(AMLINTFLAGS)
+
+if WANT_CHG_SCSI_CHIO
 CHIO_SCSI = chg-scsi-chio
 endif
 
@@ -12,14 +24,35 @@ if WANT_CHG_SCSI
 CHG_SCSI = chg-scsi
 endif
 
-libexec_PROGRAMS =     $(CHG_SCSI)
+amlibexec_PROGRAMS =   $(CHG_SCSI)
 EXTRA_PROGRAMS =       $(CHIO_SCSI)
 
-libexec_SCRIPTS =      chg-manual      chg-multi       chg-mtx         \
-                       chg-rth         chg-chs         chg-chio        \
-                       chg-zd-mtx      chg-juke        chg-rait        \
-                       chg-null        chg-mcutil      chg-disk        \
-                       chg-iomega
+CHECK_PERL = \
+               chg-glue \
+               chg-chio \
+               chg-iomega \
+               chg-rth
+
+SCRIPTS_PERL = $(CHECK_PERL)
+
+SCRIPTS_SHELL = \
+               chg-manual \
+               chg-multi \
+               chg-mtx \
+               chg-chs \
+               chg-zd-mtx \
+               chg-juke \
+               chg-rait \
+               chg-null \
+               chg-mcutil \
+               chg-disk
+
+SCRIPTS_INCLUDE = \
+               chg-lib.sh
+EXTRA_DIST += chg-lib.sh.in
+
+amlibexec_SCRIPTS = $(SCRIPTS_PERL) $(SCRIPTS_SHELL)
+amlibexec_DATA = $(SCRIPTS_INCLUDE)
 
 ###
 # Because libamanda includes routines (e.g. regex) provided by some system
@@ -28,44 +61,71 @@ libexec_SCRIPTS =   chg-manual      chg-multi       chg-mtx         \
 # routines, and second to pick up any references in the other libraries.
 ###
 
-LDADD = ../common-src/libamanda.$(LIB_EXTENSION) \
-       ../server-src/libamserver.$(LIB_EXTENSION) \
-       ../tape-src/libamtape.$(LIB_EXTENSION) \
-       ../common-src/libamanda.$(LIB_EXTENSION)
-
-SUFFIXES =             .pl .sh
-
-chg_scsi_SOURCES =     chg-scsi.c libscsi.h scsi-defs.h \
-       scsi-aix.c scsi-changer-driver.c scsi-hpux_new.c scsi-irix.c \
-       scsi-linux.c scsi-solaris.c scsi-bsd.c scsi-cam.c sense.c 
-
-chg_scsi_chio_SOURCES = chg-scsi-chio.c scsi-hpux.c scsi-chio.c libscsi.h
-
-EXTRA_DIST = scsi-proto.c
-
-.pl:
-                       cat $< > $@
-                       chmod a+x $@
-                       -test -z "$(PERL)" || $(PERL) -c $@
-
-.sh:
-                       cat $< > $@
-                       chmod a+x $@
-
-install-exec-hook:
-       @list="$(sbin_PROGRAMS) $(sbin_SCRIPTS)"; \
-       for p in $$list; do \
-               pa=$(DESTDIR)$(sbindir)/`echo $$p|sed '$(transform)'`; \
-               echo chown $(BINARY_OWNER) $$pa; \
-               chown $(BINARY_OWNER) $$pa; \
-               echo chgrp $(SETUID_GROUP) $$pa; \
-               chgrp $(SETUID_GROUP) $$pa; \
-       done
-       @list="$(libexec_PROGRAMS) $(libexec_SCRIPTS)"; \
-       for p in $$list; do \
-               pa=$(DESTDIR)$(libexecdir)/`echo $$p|sed '$(transform)'`; \
-               echo chown $(BINARY_OWNER) $$pa; \
-               chown $(BINARY_OWNER) $$pa; \
-               echo chgrp $(SETUID_GROUP) $$pa; \
-               chgrp $(SETUID_GROUP) $$pa; \
-       done
+LDADD = ../common-src/libamanda.la \
+       ../common-src/libamanda.la \
+       ../device-src/libamdevice.la \
+       ../gnulib/libgnu.la \
+       $(READLINE_LIBS)
+
+chg_scsi_CSRC = chg-scsi.c scsi-changer-driver.c sense.c 
+if WANT_SCSI_AIX
+chg_scsi_CSRC += scsi-aix.c
+endif
+if WANT_SCSI_HPUX_NEW
+chg_scsi_CSRC += scsi-hpux_new.c
+endif
+if WANT_SCSI_IRIX
+chg_scsi_CSRC += scsi-irix.c
+endif
+if WANT_SCSI_LINUX
+chg_scsi_CSRC += scsi-linux.c
+endif
+if WANT_SCSI_SOLARIS
+chg_scsi_CSRC += scsi-solaris.c
+endif
+if WANT_SCSI_BSD
+chg_scsi_CSRC += scsi-bsd.c
+endif
+if WANT_SCSI_CAM
+chg_scsi_CSRC += scsi-cam.c
+endif
+
+chg_scsi_SOURCES = libscsi.h scsi-defs.h $(chg_scsi_CSRC)
+
+chg_scsi_chio_CSRC = chg-scsi-chio.c
+if WANT_SCSI_HPUX
+chg_scsi_chio_CSRC += scsi-hpux.c
+endif
+if WANT_SCSI_CHIO
+chg_scsi_chio_CSRC += scsi-chio.c
+endif
+chg_scsi_chio_SOURCES = libscsi.h $(chg_scsi_chio_CSRC)
+
+EXTRA_DIST += scsi-proto.c
+
+INSTALLPERMS_exec = \
+       chown=amanda \
+       dest=$(sbindir) $(sbin_PROGRAMS) \
+       dest=$(amlibexecdir) $(amlibexec_PROGRAMS) 
+
+INSTALLPERMS_data = \
+       chown=amanda \
+       dest=$(sbindir) $(sbin_SCRIPTS) \
+       dest=$(amlibexecdir) $(amlibexec_SCRIPTS) $(amlibexec_DATA)
+
+lint:
+       @ for p in $(amlibexec_PROGRAMS) $(EXTRA_PROGRAMS); do                  \
+               p=`basename $$p $(EXEEXT)`;                                     \
+               f="$$p.c $(libamandad_la_SOURCES)";                             \
+               (cd ../common-src; make listlibsrc);                            \
+               f="$$f "`cat ../common-src/listlibsrc.output`;                  \
+               (cd ../server-src; make listlibsrc);                            \
+               f="$$f "`cat ../server-src/listlibsrc.output`;                  \
+               echo $(LINT) $$f;                                               \
+               $(LINT) $(LINTFLAGS) $(CPPFLAGS) $(DEFS) -I. -I$(top_builddir)/config   \
+                   $(INCLUDES) $$f;                                            \
+               if [ $$? -ne 0 ]; then                                          \
+                   exit 1;                                                     \
+               fi;                                                             \
+       done;                                                                   \
+        exit 0