summaryrefslogtreecommitdiffstats
path: root/Makefile.in
blob: 0326bf0dd09d4e41f575990a9d7562de5f874418 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
version		:= $(shell . ./scripts/ptxdist_version.sh && echo $${PTXDIST_VERSION_FULL})
project		:= ptxdist-$(version)

prefix		:= @prefix@
exec_prefix	:= @exec_prefix@
abs_srcdir 	:= @abs_srcdir@
libdir	 	:= @libdir@
bindir	 	:= @bindir@
instdir		:= $(libdir)/$(project)

CC		:= @CC@
CXX		:= @CXX@
CFLAGS		:= @CFLAGS@
CXXFLAGS	:= @CXXFLAGS@
CPPFLAGS	:= @CPPFLAGS@
LDFLAGS		:= @LDFLAGS@

SHELL		:= @BASH@

export SHELL

@BUILD_NCONF_TRUE@NCONF = nconf

all: kconfig environment
	@touch .done

kconfig:
	@echo "building conf and mconf ..."
	@CC="$(CC)" \
	CXX="$(CXX)" \
	CFLAGS="$(CFLAGS)" \
	CXXFLAGS="$(CXXFLAGS)" \
	CPPFLAGS="$(CPPFLAGS)" \
	LDFLAGS="$(LDFLAGS)" \
	$(MAKE) -C "$(abs_srcdir)/scripts/kconfig" \
		CONF_LIBS="@CONF_LIBS@" \
		MCONF_LIBS="@MCONF_LIBS@" \
		CURSES_LOC="@CURSES_LOC@" \
		conf mconf $(NCONF)
	@echo "done."

environment:
	@echo -n "preparing PTXdist environment ..."
	@ln -sf @AWK@ "$(abs_srcdir)/bin/awk"
	@ln -sf @GNU_chmod@ "$(abs_srcdir)/bin/chmod"
	@ln -sf @GNU_chown@ "$(abs_srcdir)/bin/chown"
	@ln -sf @GNU_mv@ "$(abs_srcdir)/bin/mv"
	@ln -sf @GNU_cp@ "$(abs_srcdir)/bin/cp"
	@ln -sf @GNU_rm@ "$(abs_srcdir)/bin/rm"
	@ln -sf @GNU_rmdir@ "$(abs_srcdir)/bin/rmdir"
	@ln -sf @GNU_md5sum@ "$(abs_srcdir)/bin/md5sum"
	@ln -sf @GNU_mkdir@ "$(abs_srcdir)/bin/mkdir"
	@ln -sf @GNU_install@ "$(abs_srcdir)/bin/install"
	@ln -sf @GNU_stat@ "$(abs_srcdir)/bin/stat"
	@ln -sf @GNU_mknod@ "$(abs_srcdir)/bin/mknod"
	@ln -sf @GNU_tar@ "$(abs_srcdir)/bin/tar"
	@ln -sf @GNU_find@ "$(abs_srcdir)/bin/find"
	@ln -sf @GNU_readlink@ "$(abs_srcdir)/bin/readlink"
	@ln -sf @GNU_sort@ "$(abs_srcdir)/bin/sort"
	@ln -sf @PYTHON@ "$(abs_srcdir)/bin/python"
	@ln -sf @SED@ "$(abs_srcdir)/bin/sed"
	@ln -sf @XARGS@ "$(abs_srcdir)/bin/xargs"
	@ln -sf @SYSCTL@ "$(abs_srcdir)/bin/sysctl"
	@echo " done"

clean:
	@rm -f .done
	@find "$(abs_srcdir)/bin" -type l -print0 | xargs -r -0 rm
	@$(MAKE) -C "$(abs_srcdir)/scripts/kconfig" clean

dirty-check:
	@case "$(version)" in \
		*-dirty) echo "refusing to install or package a dirty git tree!" ; exit 1 ;; \
	esac

install: all dirty-check
	@echo "installing PTXdist to $(DESTDIR)$(prefix)..."
	@rm -fr   "$(DESTDIR)$(instdir)"
	@mkdir -p "$(DESTDIR)$(instdir)"
	@tar -C "$(abs_srcdir)" -cf - \
		--exclude *~ \
		--exclude .git \
		--exclude .pc \
		--exclude .svn \
		--exclude autom4te.cache \
		--exclude config.log \
		--exclude config.status \
		--exclude debian \
		--exclude state \
		. | \
		tar -o -C "$(DESTDIR)$(instdir)" -xvf -
	@if [ \! -e "$(DESTDIR)$(instdir)/.tarball-version" ]; then \
		echo -n "${version}" > "$(DESTDIR)$(instdir)/.tarball-version"; \
	fi
	@mkdir -p "$(DESTDIR)$(bindir)"
	@rm -f    "$(DESTDIR)$(bindir)/ptxdist"
	@ln -sf   "$(instdir)/bin/ptxdist" "$(DESTDIR)$(bindir)/ptxdist-$(version)"
	@ln -sf   "$(instdir)/bin/ptxdist" "$(DESTDIR)$(bindir)/ptxdist"
	@if [ -d "$(DESTDIR)@BASH_COMPLETION_DIR@" -a \
		-w "$(DESTDIR)@BASH_COMPLETION_DIR@" ]; then \
		cp scripts/bash_completion "$(DESTDIR)@BASH_COMPLETION_DIR@/ptxdist"; \
	fi

dist: dirty-check
	@rm -rf "$(project)"
	@git archive "$(project)" --prefix="$(project)"/ > "${project}.tar"
	tar xf "${project}.tar"
	echo -n "${version}" > "${project}/.tarball-version"
	cd "$(project)" && ./autogen.sh

	tar -rf "${project}.tar" \
		"${project}/configure" \
		"${project}/.tarball-version"
	bzip2 "${project}.tar"
	md5sum "${project}.tar.bz2" > "${project}.tar.bz2.md5"

distclean: clean
	rm -fr Makefile
	rm -fr build-stamp
	rm -fr config.log config.status autom4te.cache

maintainer-clean: distclean
	rm -f configure

release:
	@scripts/make_$@.sh