summaryrefslogtreecommitdiffstats
path: root/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am119
1 files changed, 119 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..c426b8c
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,119 @@
+ACLOCAL_AMFLAGS = -I m4
+SUBDIRS = po lib include libparted parted partprobe doc debug tests
+
+EXTRA_DIST = \
+ .version \
+ .prev-version \
+ BUGS \
+ libparted.pc.in \
+ libparted-fs-resize.pc.in \
+ parted.spec.in \
+ parted.spec \
+ scripts/data/abi/baseline_symbols.txt \
+ scripts/extract_symvers \
+ cfg.mk \
+ dist-check.mk \
+ maint.mk \
+ GNUmakefile
+
+aclocaldir=$(datadir)/aclocal
+
+pcdir = $(libdir)/pkgconfig
+pc_DATA = libparted.pc libparted-fs-resize.pc
+
+# This is best not done via configure.ac, because automake's
+# make distcheck target does not like auto-generated files
+# being included in the distributed archive.
+parted.spec: parted.spec.in
+ sed 's/@''PACKAGE@/$(PACKAGE)/;s/@''VERSION@/$(VERSION)/' $< > $@-tmp
+ mv $@-tmp $@
+MAINTAINERCLEANFILES = parted.spec
+
+.PHONY: root-check
+root-check:
+ sudo sh -c '$(MAKE) check; t=$$?; chown -R $(USER) .; exit $$t'
+
+# Not everyone who runs "make distcheck" will want to or even
+# be able to run the root tests. If you want to skip them,
+# run make like this: "make distcheck root-check="
+root_check ?= root-check
+distcheck-hook: $(root_check)
+ $(MAKE) my-distcheck
+
+### ABI Checking scripts ###
+
+baseline_file = ${top_srcdir}/scripts/data/abi/baseline_symbols.txt
+extract_symvers = $(top_srcdir)/scripts/extract_symvers
+
+current_symbols.txt: ${extract_symvers}
+ -@(sh ${extract_symvers} libparted/.libs/libparted.so current_symbols.txt)
+
+baseline_symbols:
+ -@(output=${baseline_file}; \
+ if test ! -f $${output}; then \
+ echo "Baseline file doesn't exist."; \
+ echo "Try 'make new-abi-baseline' to create it."; \
+ exit 1; \
+ fi; true)
+
+new-abi-baseline:
+ -@$(mkinstalldirs) ${baseline_dir}
+ -@(output=${baseline_file}; \
+ if test -f $${output}; then \
+ output=$${output}.new; \
+ t=`echo $${output} | sed 's=.*config/abi/=='`; \
+ echo "Baseline file already exists, writing to $${t} instead."; \
+ fi; \
+ sh ${extract_symvers} libparted/.libs/libparted.so $${output})
+
+# Use 'new-abi-baseline' to create an initial symbol file. Then run
+# 'check-abi' to test for changes against that file.
+check-abi: baseline_symbols current_symbols.txt
+ @diff -u ${baseline_file} ./current_symbols.txt 2>&1 \
+ | tee libparted.abi-diff
+ @test `wc -l < libparted.abi-diff` -eq 0 && exit 0 \
+ || echo "ABI has changed. Please, update you ABI package version." \
+ && exit 1
+
+MOSTLYCLEANDIRS = m4
+
+MAINTAINERCLEANFILES += \
+ ABOUT-NLS \
+ ChangeLog \
+ INSTALL \
+ aclocal.m4 \
+ configure
+
+.PHONY: ss-1024 ss-2048 ss-4096
+ss-1024 ss-2048 ss-4096:
+ PARTED_SECTOR_SIZE=$(subst ss-,,$@) $(MAKE) check-recursive
+
+# Run the regression test suite with different settings,
+# to ensure it works with simulated partition sizes > 512.
+.PHONY: check-other-sector_sizes
+check-other-sector_sizes:
+ $(MAKE) ss-1024
+ $(MAKE) ss-2048
+ $(MAKE) ss-4096
+
+check: check-other-sector_sizes
+
+# Arrange so that .tarball-version appears only in the distribution
+# tarball, and never in a checked-out repository.
+dist-hook: gen-ChangeLog
+ echo $(VERSION) > $(distdir)/.tarball-version
+
+gen_start_date = 2000-01-01
+.PHONY: gen-ChangeLog
+gen-ChangeLog:
+ if test -d .git; then \
+ $(top_srcdir)/build-aux/gitlog-to-changelog \
+ --amend=$(srcdir)/build-aux/git-log-fix \
+ --since=$(gen_start_date) > $(distdir)/cl-t; \
+ rm -f $(distdir)/ChangeLog; \
+ mv $(distdir)/cl-t $(distdir)/ChangeLog; \
+ fi
+
+BUILT_SOURCES = .version
+.version:
+ echo $(VERSION) > $@-t && mv $@-t $@