Makefile.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jul 13 10:32:38 2008 +0000 (2008-07-13)
changeset 645 8e58024f8e37
parent 556 68c8c1b91269
child 899 da93630960d1
permissions -rw-r--r--
Ioannis E. VENETIS <venetis@mail.capsl.udel.edu> pointed out that GMP and MPFR were not used by gcc.
Turned out that none could use GMP and MPFR as the config option changed its name, but the change was not propagated to all users.

/trunk/scripts/build/binutils.sh | 2 1 1 0 +-
/trunk/scripts/build/debug/300-gdb.sh | 2 1 1 0 +-
/trunk/scripts/build/cc_gcc.sh | 6 3 3 0 +++---
3 files changed, 5 insertions(+), 5 deletions(-)
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@554
     4
MAKEFLAGS += --no-print-directory --no-builtin-rules
yann@554
     5
yann@382
     6
all: Makefile build
yann@382
     7
yann@382
     8
# Check if Makefile is up to date:
yann@382
     9
Makefile: Makefile.in
yann@382
    10
	@echo "$< did changed: you must re-run './configure'"
yann@382
    11
	@false
yann@182
    12
yann@182
    13
###############################################################################
yann@182
    14
# Configuration variables
yann@182
    15
yann@182
    16
VERSION:= @@VERSION@@
yann@182
    17
BINDIR := @@BINDIR@@
yann@185
    18
LIBDIR := @@LIBDIR@@
yann@185
    19
DOCDIR := @@DOCDIR@@
yann@185
    20
MANDIR := @@MANDIR@@
yann@182
    21
DATE   := @@DATE@@
yann@285
    22
LOCAL  := @@LOCAL@@
yann@285
    23
MAKE   := $(shell which $(MAKE) || type -p $(MAKE) || echo /usr/bin/make)
yann@182
    24
yann@182
    25
###############################################################################
yann@182
    26
# Global make rules
yann@182
    27
yann@555
    28
TARGETS := bin lib doc man
yann@182
    29
yann@555
    30
build: $(patsubst %,build-%,$(TARGETS))
yann@182
    31
yann@555
    32
install: local-test build $(patsubst %,install-%,$(TARGETS))
yann@555
    33
yann@555
    34
clean: $(patsubst %,clean-%,$(TARGETS))
yann@182
    35
yann@182
    36
distclean: clean
yann@554
    37
	@echo "  RM     'Makefile'"
yann@182
    38
	@rm -f Makefile
yann@182
    39
yann@555
    40
uninstall: local-test $(patsubst %,uninstall-%,$(TARGETS))
yann@182
    41
yann@182
    42
###############################################################################
yann@182
    43
# Specific make rules
yann@182
    44
yann@182
    45
#--------------------------------------
yann@182
    46
# Build rules
yann@182
    47
yann@182
    48
build-bin: ct-ng
yann@554
    49
	@echo "  CHMOD  '$<'"
yann@318
    50
	@chmod a+x $<
yann@182
    51
yann@182
    52
build-lib:
yann@182
    53
yann@555
    54
build-doc:
yann@555
    55
yann@309
    56
build-man: docs/ct-ng.1.gz
yann@309
    57
yann@309
    58
docs/ct-ng.1.gz: docs/ct-ng.1
yann@554
    59
	@echo "  GZIP   '$@'"
yann@317
    60
	@gzip -c9 $< >$@
yann@182
    61
yann@470
    62
%: %.in Makefile
yann@554
    63
	@echo "  SED    '$@'"
yann@182
    64
	@sed -r -e 's,@@CT_MAKE@@,$(MAKE),g;'       \
yann@182
    65
	        -e 's,@@CT_BINDIR@@,$(BINDIR),g;'   \
yann@182
    66
	        -e 's,@@CT_LIBDIR@@,$(LIBDIR),g;'   \
yann@182
    67
	        -e 's,@@CT_DOCDIR@@,$(DOCDIR),g;'   \
yann@182
    68
	        -e 's,@@CT_MANDIR@@,$(MANDIR),g;'   \
yann@182
    69
	        -e 's,@@CT_VERSION@@,$(VERSION),g;'	\
yann@182
    70
	        -e 's,@@CT_DATE@@,$(DATE),g;'       \
yann@182
    71
	     $@.in >$@
yann@182
    72
yann@182
    73
#--------------------------------------
yann@182
    74
# Clean rules
yann@182
    75
yann@182
    76
clean-bin:
yann@554
    77
	@echo "  RM     'ct-ng'"
yann@182
    78
	@rm -f ct-ng
yann@182
    79
yann@182
    80
clean-lib:
yann@182
    81
yann@182
    82
clean-doc:
yann@555
    83
yann@555
    84
clean-man:
yann@554
    85
	@echo "  RM     'docs/ct-ng.1'"
yann@318
    86
	@rm -f docs/ct-ng.1
yann@554
    87
	@echo "  RM     'docs/ct-ng.1.gz'"
yann@318
    88
	@rm -f docs/ct-ng.1.gz
yann@182
    89
yann@182
    90
#--------------------------------------
yann@554
    91
# Check for --local setup
yann@182
    92
yann@425
    93
# If using locally, don't install
yann@554
    94
local-test:
yann@296
    95
	@if [ "$(LOCAL)" = "1" ]; then                                          \
yann@296
    96
	     echo "You're using local copy as runtime. You can't (un)install."; \
yann@296
    97
	     false;                                                             \
yann@285
    98
	 fi
yann@285
    99
yann@554
   100
#--------------------------------------
yann@554
   101
# Install rules
yann@554
   102
yann@553
   103
install-bin: $(BINDIR)
yann@554
   104
	@echo "  INST   'ct-ng'"
yann@554
   105
	@install -m 755 ct-ng "$(BINDIR)/ct-ng"
yann@182
   106
yann@555
   107
# If one is hacking crosstool-NG, the patch set might change between any two
yann@555
   108
# installations of the same VERSION, thus the patches must be removed prior
yann@555
   109
# to being installed. It is simpler to remove the whole lib/ directory, as it
yann@555
   110
# is the goal of the install-lib rule to install the lib/ directory...
yann@553
   111
install-lib: uninstall-lib $(LIBDIR) install-lib-main install-lib-samples
yann@182
   112
yann@553
   113
install-lib-main: $(LIBDIR)
yann@554
   114
	@for src_dir in arch config kconfig patches scripts tools; do           \
yann@554
   115
	     echo "  INST   '$${src_dir}/'";                                    \
yann@554
   116
	     tar cf - --exclude=.svn $${src_dir} |(cd "$(LIBDIR)"; tar xf -);   \
yann@182
   117
	 done
yann@554
   118
	@rm -f "$(LIBDIR)/tools/addToolVersion.sh"
yann@554
   119
	@echo "  INST   'steps.mk'"
yann@554
   120
	@install -m 644 steps.mk "$(LIBDIR)/steps.mk"
yann@182
   121
yann@182
   122
# Samples need a little love:
yann@425
   123
#  - change every occurrence of CT_TOP_DIR to CT_LIB_DIR
yann@553
   124
install-lib-samples: $(LIBDIR) install-lib-main
yann@554
   125
	@echo "  INST   'samples/'"
yann@554
   126
	@tar cf - --exclude=.svn samples |(cd "$(LIBDIR)"; tar xf -)
yann@632
   127
	@for samp_file in "$(LIBDIR)/samples/"*"/crosstool.config"; do                          \
yann@632
   128
	     sed -r -i -e 's,\$$\{CT_TOP_DIR\},\$$\{CT_LIB_DIR\},g;' $${samp_file};             \
yann@632
   129
	     sed -r -i -e 's,^(CT_WORK_DIR)=.*,\1="\$${CT_TOP_DIR}/targets",;' $${samp_file};   \
yann@182
   130
	 done
yann@182
   131
yann@553
   132
install-doc: $(DOCDIR)
yann@554
   133
	@for doc_file in docs/CREDITS docs/overview.txt; do \
yann@554
   134
	     echo "  INST   '$${doc_file}'";                \
yann@554
   135
	     install -m 644 "$${doc_file}" "$(DOCDIR)";     \
yann@182
   136
	 done
yann@249
   137
yann@553
   138
install-man: $(MANDIR)
yann@554
   139
	@echo "  INST   'ct-ng.1.gz'"
yann@554
   140
	@install -m 644 docs/ct-ng.1.gz "$(MANDIR)"
yann@182
   141
yann@556
   142
$(sort $(BINDIR) $(LIBDIR) $(DOCDIR) $(MANDIR)):
yann@554
   143
	@echo "  MKDIR  '$@'"
yann@554
   144
	@install -m 755 -d "$@"
yann@182
   145
yann@182
   146
yann@182
   147
#--------------------------------------
yann@182
   148
# Uninstall rules
yann@182
   149
yann@554
   150
uninstall-bin:
yann@555
   151
	@echo "  RM     '$(BINDIR)/ct-ng'"
yann@554
   152
	@rm -f "$(BINDIR)/ct-ng"
yann@182
   153
yann@554
   154
uninstall-lib:
yann@556
   155
	@echo "  RMDIR  '$(LIBDIR)/'"
yann@554
   156
	@rm -rf "$(LIBDIR)"
yann@298
   157
yann@554
   158
uninstall-doc:
yann@556
   159
	@echo "  RMDIR  '$(DOCDIR)/'"
yann@554
   160
	@rm -rf "$(DOCDIR)"
yann@554
   161
yann@554
   162
uninstall-man:
yann@555
   163
	@echo "  RM     '$(MANDIR)/ct-ng.1.gz'"
yann@554
   164
	@rm -f "$(MANDIR)/ct-ng.1"{,.gz}