crosstool-ng/Makefile.in
Yann E. MORIN" efa83fdf6e When installing SVN snapshots, include the branch and revision in the version number.
In case some random snapshot is installed and used for production, then this
will ease rewinding.
2008-02-17 22:58:57 +00:00

147 lines
3.9 KiB
Makefile

# Makefile.in for building crosstool-NG
# This file serves as source for the ./configure operation
all: Makefile build
# Check if Makefile is up to date:
Makefile: Makefile.in
@echo "$< did changed: you must re-run './configure'"
@false
###############################################################################
# Configuration variables
VERSION:= @@VERSION@@
BINDIR := @@BINDIR@@
LIBDIR := @@LIBDIR@@
DOCDIR := @@DOCDIR@@
MANDIR := @@MANDIR@@
DATE := @@DATE@@
LOCAL := @@LOCAL@@
MAKE := $(shell which $(MAKE) || type -p $(MAKE) || echo /usr/bin/make)
###############################################################################
# Global make rules
build: build-bin build-lib build-man
install: install-local-test build install-bin install-lib install-doc install-man
clean: clean-bin clean-lib clean-doc
distclean: clean
@echo " RM Makefile"
@rm -f Makefile
uninstall: install-local-test uninstall-bin uninstall-lib uninstall-doc uninstall-man
###############################################################################
# Specific make rules
#--------------------------------------
# Build rules
build-bin: ct-ng
@echo " CHMOD $<"
@chmod a+x $<
build-lib:
build-man: docs/ct-ng.1.gz
docs/ct-ng.1.gz: docs/ct-ng.1
@echo " GZIP $@"
@gzip -c9 $< >$@
%: %.in
@echo " SED $@"
@sed -r -e 's,@@CT_MAKE@@,$(MAKE),g;' \
-e 's,@@CT_BINDIR@@,$(BINDIR),g;' \
-e 's,@@CT_LIBDIR@@,$(LIBDIR),g;' \
-e 's,@@CT_DOCDIR@@,$(DOCDIR),g;' \
-e 's,@@CT_MANDIR@@,$(MANDIR),g;' \
-e 's,@@CT_VERSION@@,$(VERSION),g;' \
-e 's,@@CT_DATE@@,$(DATE),g;' \
$@.in >$@
#--------------------------------------
# Clean rules
clean-bin:
@echo " RM ct-ng"
@rm -f ct-ng
clean-lib:
clean-doc:
@echo " RM docs/ct-ng.1"
@rm -f docs/ct-ng.1
@echo " RM docs/ct-ng.1.gz"
@rm -f docs/ct-ng.1.gz
#--------------------------------------
# Install rules
# If using locally, don't install
install-local-test:
@if [ "$(LOCAL)" = "1" ]; then \
echo "You're using local copy as runtime. You can't (un)install."; \
false; \
fi
install-bin: install-local-test $(BINDIR)
@echo " INST ct-ng"
@install -m 755 ct-ng $(BINDIR)/ct-ng
install-lib: install-local-test $(LIBDIR) install-lib-main install-lib-samples
install-lib-main: install-local-test $(LIBDIR)
@for src_dir in arch config kconfig patches scripts tools; do \
echo " INST $${src_dir}/"; \
tar cf - --exclude=.svn $${src_dir} |(cd $(LIBDIR); tar xf -); \
done
@rm -f $(LIBDIR)/tools/addToolVersion.sh
@echo " INST steps.mk"
@install -m 644 steps.mk $(LIBDIR)/steps.mk
@echo " INST .version"
@echo "$(VERSION)" >$(LIBDIR)/.version
# Samples need a little love:
# - change every occurrence of CT_TOP_DIR to CT_LIB_DIR
install-lib-samples: install-local-test $(LIBDIR) install-lib-main
@echo " INST samples/"
@tar cf - --exclude=.svn samples |(cd $(LIBDIR); tar xf -)
@for samp_file in $(LIBDIR)/samples/*/crosstool.config; do \
sed -r -i -e 's,\$$\{CT_TOP_DIR\},\$$\{CT_LIB_DIR\},g;' $${samp_file}; \
done
install-doc: install-local-test $(DOCDIR)
@for doc_file in docs/CREDITS docs/overview.txt; do \
echo " INST $${doc_file}"; \
install -m 644 "$${doc_file}" $(DOCDIR); \
done
install-man: install-local-test $(MANDIR)
@echo " INST ct-ng.1.gz"
@install -m 644 docs/ct-ng.1.gz $(MANDIR)
$(BINDIR) $(LIBDIR) $(DOCDIR) $(MANDIR)::
@echo " MKDIR $@"
@install -m 755 -d $@
#--------------------------------------
# Uninstall rules
uninstall-bin: install-local-test
@rm -f $(BINDIR)/ct-ng
uninstall-lib: install-local-test
@rm -rf $(LIBDIR)
uninstall-doc: install-local-test
@rm -rf $(DOCDIR)
uninstall-man: install-local-test
@rm -f $(MANDIR)/ct-ng.1{,.gz}