Makefile.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Jul 17 21:44:33 2007 +0000 (2007-07-17)
changeset 276 835178a32fc1
parent 261 4b8cba298bf3
child 285 148f0a31e2d8
permissions -rw-r--r--
Revisit the extract-config way of working: ct-ng is the sole entry point to crosstool-NG, and ct-ng.extrac-config no longer exists. You now have to call "ct-ng extractconfig </path/to/your/build.log" instead.
yann@197
     1
# Makefile.in for building crosstool-NG
yann@182
     2
# This file serves as source for the ./configure operation
yann@182
     3
yann@182
     4
all: build
yann@182
     5
yann@182
     6
###############################################################################
yann@182
     7
# Configuration variables
yann@182
     8
yann@182
     9
VERSION:= @@VERSION@@
yann@182
    10
BINDIR := @@BINDIR@@
yann@185
    11
LIBDIR := @@LIBDIR@@
yann@185
    12
DOCDIR := @@DOCDIR@@
yann@185
    13
MANDIR := @@MANDIR@@
yann@182
    14
DATE   := @@DATE@@
yann@182
    15
MAKE   := $(shell which make || type -p make || echo /usr/bin/make)
yann@182
    16
yann@182
    17
###############################################################################
yann@182
    18
# Global make rules
yann@182
    19
yann@182
    20
build: build-bin build-lib build-doc
yann@182
    21
yann@182
    22
install: build install-bin install-lib install-doc
yann@182
    23
yann@182
    24
clean: clean-bin clean-lib clean-doc
yann@182
    25
yann@182
    26
distclean: clean
yann@182
    27
	@rm -f Makefile
yann@182
    28
yann@182
    29
uninstall: uninstall-bin uninstall-lib uninstall-doc
yann@182
    30
yann@182
    31
###############################################################################
yann@182
    32
# Specific make rules
yann@182
    33
yann@182
    34
#--------------------------------------
yann@182
    35
# Build rules
yann@182
    36
yann@182
    37
build-bin: ct-ng
yann@184
    38
	@chmod a+x ct-ng
yann@182
    39
yann@182
    40
build-lib:
yann@182
    41
yann@182
    42
build-doc: docs/ct-ng.1
yann@182
    43
yann@182
    44
%: %.in
yann@249
    45
	@echo "  SED    $@"
yann@182
    46
	@sed -r -e 's,@@CT_MAKE@@,$(MAKE),g;'       \
yann@182
    47
	        -e 's,@@CT_BINDIR@@,$(BINDIR),g;'   \
yann@182
    48
	        -e 's,@@CT_LIBDIR@@,$(LIBDIR),g;'   \
yann@182
    49
	        -e 's,@@CT_DOCDIR@@,$(DOCDIR),g;'   \
yann@182
    50
	        -e 's,@@CT_MANDIR@@,$(MANDIR),g;'   \
yann@182
    51
	        -e 's,@@CT_VERSION@@,$(VERSION),g;'	\
yann@182
    52
	        -e 's,@@CT_DATE@@,$(DATE),g;'       \
yann@182
    53
	     $@.in >$@
yann@182
    54
yann@182
    55
#--------------------------------------
yann@182
    56
# Clean rules
yann@182
    57
yann@182
    58
clean-bin:
yann@182
    59
	@rm -f ct-ng
yann@182
    60
yann@182
    61
clean-lib:
yann@182
    62
yann@182
    63
clean-doc:
yann@182
    64
	@rm -f docs/ct-ng.1
yann@182
    65
yann@182
    66
#--------------------------------------
yann@182
    67
# Install rules
yann@182
    68
yann@276
    69
install-bin: $(BINDIR)
yann@249
    70
	@echo "  INST   ct-ng"
yann@182
    71
	@install -m 755 ct-ng $(BINDIR)/ct-ng
yann@182
    72
yann@198
    73
install-lib: $(LIBDIR) install-lib-main install-lib-samples
yann@182
    74
yann@198
    75
install-lib-main: $(LIBDIR)
yann@182
    76
	@for src_dir in config kconfig patches scripts tools; do            \
yann@249
    77
	     echo "  INST   $${src_dir}/";                                  \
yann@182
    78
	     tar cf - --exclude=.svn $${src_dir} |(cd $(LIBDIR); tar xf -); \
yann@182
    79
	 done
yann@223
    80
	@rm -f $(LIBDIR)/tools/addToolVersion.sh
yann@261
    81
	@for src_file in steps.mk version; do                 \
yann@249
    82
	     echo "  INST   $${src_file}";                          \
yann@182
    83
	     install -m 644 $${src_file} $(LIBDIR)/$${src_file};    \
yann@182
    84
	 done
yann@182
    85
yann@182
    86
# Samples need a little love:
yann@182
    87
#  - change every occurence of CT_TOP_DIR to CT_LIB_DIR
yann@198
    88
install-lib-samples: $(LIBDIR) install-lib-main
yann@249
    89
	@echo "  INST   samples/"
yann@182
    90
	@tar cf - --exclude=.svn samples |(cd $(LIBDIR); tar xf -)
yann@194
    91
	@for samp_file in $(LIBDIR)/samples/*/crosstool.config; do                  \
yann@182
    92
	     sed -r -i -e 's,\$$\{CT_TOP_DIR\},\$$\{CT_LIB_DIR\},g;' $${samp_file}; \
yann@182
    93
	 done
yann@182
    94
yann@249
    95
install-doc: install-man $(DOCDIR)
yann@194
    96
	@for doc_file in CREDITS docs/overview.txt; do  \
yann@249
    97
	     echo "  INST   $${doc_file}";              \
yann@194
    98
	     install -m 644 "$${doc_file}" $(DOCDIR);   \
yann@182
    99
	 done
yann@249
   100
yann@249
   101
install-man: $(MANDIR)
yann@249
   102
	@echo "  INST   ct-ng.1"
yann@182
   103
	@install -m 644 docs/ct-ng.1 $(MANDIR)
yann@182
   104
yann@184
   105
$(BINDIR) $(LIBDIR) $(DOCDIR) $(MANDIR)::
yann@249
   106
	@echo "  MKDIR  $@"
yann@182
   107
	@install -m 755 -d $@
yann@182
   108
yann@182
   109
yann@182
   110
#--------------------------------------
yann@182
   111
# Uninstall rules
yann@182
   112
yann@182
   113
uninstall-bin:
yann@182
   114
	@rm -f $(BINDIR)/ct-ng
yann@249
   115
	@rm -f $(BINDIR)/ct-ng.extract-config
yann@182
   116
yann@182
   117
uninstall-lib:
yann@182
   118
	@rm -rf $(LIBDIR)
yann@182
   119
yann@182
   120
uninstall-doc:
yann@182
   121
	@rm -rf $(DOCDIR)
yann@182
   122
	@rm -f $(MANDIR)/ct-ng.1