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
|