6ba3b44614
Added the necessary build infrastructure for building packages compatible with the Arch Linux distribution. As such, one can now run: $ ./configure $ make pkg # Alternatively, one can run 'make arch' as well on the Arch Linux machine to create two binary packages compatible with the pacman package manager, one for the zfs userland utilities and another for the zfs kernel modules. The new packages can then be installed by running: # pacman -U $package.pkg.tar.xz In addition, source-only packages suitable for an Arch Linux chroot environment or remote builder can also be build using the 'sarch' make rule. NOTE: Since the source dist tarball is created on the fly from the head of the build tree, it's MD5 hash signature will be continually influx. As a result, the md5sum variable was intentionally omitted from the PKGBUILD files, and the '--skipinteg' makepkg option is used. This may or may not have any serious security implications, as the source tarball is not being downloaded from an outside source. Signed-off-by: Prakash Surya <surya1@llnl.gov> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #491
57 lines
1.7 KiB
Makefile
57 lines
1.7 KiB
Makefile
include $(top_srcdir)/config/rpm.am
|
|
include $(top_srcdir)/config/deb.am
|
|
include $(top_srcdir)/config/tgz.am
|
|
include $(top_srcdir)/config/arch.am
|
|
|
|
if CONFIG_USER
|
|
USER_DIR = dracut udev etc man scripts lib cmd
|
|
endif
|
|
if CONFIG_KERNEL
|
|
KERNEL_DIR = module
|
|
endif
|
|
SUBDIRS = $(USER_DIR) $(KERNEL_DIR) include
|
|
|
|
AUTOMAKE_OPTIONS = foreign
|
|
EXTRA_DIST = autogen.sh zfs.spec.in zfs-modules.spec.in
|
|
EXTRA_DIST += config/config.awk config/rpm.am config/deb.am config/tgz.am
|
|
EXTRA_DIST += META DISCLAIMER COPYRIGHT README.markdown
|
|
EXTRA_DIST += OPENSOLARIS.LICENSE ZFS.RELEASE
|
|
|
|
noinst_HEADERS = zfs_config.h
|
|
|
|
distclean-local::
|
|
-$(RM) -R autom4te*.cache
|
|
-find . \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS \
|
|
-o -name .pc -o -name .hg -o -name .git \) -prune -o \
|
|
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
|
|
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
|
|
-o -name '.*.rej' -o -name '.script-config' -o -size 0 \
|
|
-o -name '*%' -o -name '.*.cmd' -o -name 'core' \
|
|
-o -name 'Makefile' -o -name 'Module.symvers' \
|
|
-o -name '*.order' -o -name '*.markers' \) \
|
|
-type f -print | xargs $(RM)
|
|
|
|
if CONFIG_KERNEL
|
|
install-data-local:
|
|
destname=zfs-$(ZFS_META_VERSION)/$(LINUX_VERSION); \
|
|
instdest=$(DESTDIR)/usr/src/$$destname; \
|
|
echo "$(ZFS_META_VERSION)" >$$instdest/zfs.release; \
|
|
for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \
|
|
$(INSTALL) -D $$instfile $$instdest/$$instfile; \
|
|
done
|
|
endif
|
|
|
|
ctags:
|
|
$(RM) $(top_srcdir)/tags
|
|
find $(top_srcdir) -name .git -prune -o -name '*.[hc]' | xargs ctags
|
|
|
|
etags:
|
|
$(RM) $(top_srcdir)/TAGS
|
|
find $(top_srcdir) -name .pc -prune -o -name '*.[hc]' | xargs etags -a
|
|
|
|
tags: ctags etags
|
|
|
|
pkg: @DEFAULT_PACKAGE@
|
|
pkg-modules: @DEFAULT_PACKAGE@-modules
|
|
pkg-utils: @DEFAULT_PACKAGE@-utils
|