mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-26 11:19:32 +03:00
16b719f006
We need dependent packages to be able to include spl_config.h to
build properly. This was partially solved in commit 0cbaeb1
by using
AH_BOTTOM to #undef common #defines (PACKAGE, VERSION, etc) which
autoconf always adds and cannot be easily removed. This solution
works as long as the spl_config.h is included before your projects
config.h. That turns out to be easier said than done. In particular,
this is a problem when your package includes its config.h using the
-include gcc option which ensures the first thing included is your
config.h.
To handle all cases cleanly I have removed the AH_BOTTOM hack and
replaced it with an AC_CONFIG_HEADERS command. This command runs
immediately after spl_config.h is written and with a little awk-foo
it strips the offending #defines from the file. This eliminates
the problem entirely and makes header safe for inclusion.
Also in this change I have removed the few places in the code where
spl_config.h is included. It is now added to the gcc compile line
to ensure the config results are always available.
Finally, I have also disabled the verbose kernel builds. If you
want them back you can always build with 'make V=1'. Since things
are working now they don't need to be on by default.
66 lines
1.8 KiB
Makefile
66 lines
1.8 KiB
Makefile
include $(top_srcdir)/config/rpm.am
|
|
|
|
if CONFIG_USER
|
|
USER_DIR = lib cmd scripts
|
|
endif
|
|
if CONFIG_KERNEL
|
|
KERNEL_DIR = module include
|
|
endif
|
|
SUBDIRS = $(USER_DIR) $(KERNEL_DIR)
|
|
|
|
AUTOMAKE_OPTIONS = foreign dist-zip
|
|
EXTRA_DIST = autogen.sh spl.spec.in config/config.awk META DISCLAIMER
|
|
noinst_HEADERS = spl_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 'aclocal.m4' -o -size 0 \
|
|
-o -name '*%' -o -name '.*.cmd' -o -name 'core' \
|
|
-o -name 'Makefile' -o -name '$(LINUX_SYMBOLS)' \
|
|
-o -name '*.order' -o -name '*.markers' \) \
|
|
-type f -print | xargs $(RM)
|
|
|
|
if CONFIG_KERNEL
|
|
install-data-local:
|
|
destname=spl-$(SPL_META_VERSION)/$(LINUX_VERSION); \
|
|
instdest=$(DESTDIR)/${prefix}/src/$$destname; \
|
|
echo "${SPL_META_VERSION}" >$$instdest/spl.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
|
|
|
|
srpm-modules:
|
|
$(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" srpm-common
|
|
|
|
srpm-utils:
|
|
$(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" srpm-common
|
|
|
|
srpm: srpm-modules srpm-utils
|
|
|
|
rpm-modules: srpm-modules
|
|
$(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-modules" rpm-common
|
|
|
|
rpm-utils: srpm-utils
|
|
$(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" rpm-common
|
|
|
|
rpm-modules: srpm-modules
|
|
|
|
rpm-utils: srpm-utils
|
|
|
|
rpm: rpm-modules rpm-utils
|