Makefile.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Feb 17 22:08:06 2008 +0000 (2008-02-17)
changeset 431 8bde4c6ea47a
parent 396 05550a6b9ff0
child 435 ff598e5b4bb5
permissions -rw-r--r--
Robert P. J. DAY says:

apparently, the patchset for gcc 4.2.1 applies properly to the
source for gcc 4.2.2 and gcc 4.2.3. so, if you want, you can simply
add support for those last two just by augmenting menuconfig and
adding a couple symlinks for those two directories. seems like a
cheap way to add a couple new versions.
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@382
     4
all: Makefile build
yann@382
     5
yann@382
     6
# Check if Makefile is up to date:
yann@382
     7
Makefile: Makefile.in
yann@382
     8
	@echo "$< did changed: you must re-run './configure'"
yann@382
     9
	@false
yann@182
    10
yann@182
    11
###############################################################################
yann@182
    12
# Configuration variables
yann@182
    13
yann@182
    14
VERSION:= @@VERSION@@
yann@182
    15
BINDIR := @@BINDIR@@
yann@185
    16
LIBDIR := @@LIBDIR@@
yann@185
    17
DOCDIR := @@DOCDIR@@
yann@185
    18
MANDIR := @@MANDIR@@
yann@182
    19
DATE   := @@DATE@@
yann@285
    20
LOCAL  := @@LOCAL@@
yann@285
    21
MAKE   := $(shell which $(MAKE) || type -p $(MAKE) || echo /usr/bin/make)
yann@182
    22
yann@182
    23
###############################################################################
yann@182
    24
# Global make rules
yann@182
    25
yann@309
    26
build: build-bin build-lib build-man
yann@182
    27
yann@296
    28
install: install-local-test build install-bin install-lib install-doc install-man
yann@182
    29
yann@182
    30
clean: clean-bin clean-lib clean-doc
yann@182
    31
yann@182
    32
distclean: clean
yann@318
    33
	@echo "  RM     Makefile"
yann@182
    34
	@rm -f Makefile
yann@182
    35
yann@296
    36
uninstall: install-local-test uninstall-bin uninstall-lib uninstall-doc uninstall-man
yann@182
    37
yann@182
    38
###############################################################################
yann@182
    39
# Specific make rules
yann@182
    40
yann@182
    41
#--------------------------------------
yann@182
    42
# Build rules
yann@182
    43
yann@182
    44
build-bin: ct-ng
yann@318
    45
	@echo "  CHMOD  $<"
yann@318
    46
	@chmod a+x $<
yann@182
    47
yann@182
    48
build-lib:
yann@182
    49
yann@309
    50
build-man: docs/ct-ng.1.gz
yann@309
    51
yann@309
    52
docs/ct-ng.1.gz: docs/ct-ng.1
yann@309
    53
	@echo "  GZIP   $@"
yann@317
    54
	@gzip -c9 $< >$@
yann@182
    55
yann@182
    56
%: %.in
yann@249
    57
	@echo "  SED    $@"
yann@182
    58
	@sed -r -e 's,@@CT_MAKE@@,$(MAKE),g;'       \
yann@182
    59
	        -e 's,@@CT_BINDIR@@,$(BINDIR),g;'   \
yann@182
    60
	        -e 's,@@CT_LIBDIR@@,$(LIBDIR),g;'   \
yann@182
    61
	        -e 's,@@CT_DOCDIR@@,$(DOCDIR),g;'   \
yann@182
    62
	        -e 's,@@CT_MANDIR@@,$(MANDIR),g;'   \
yann@182
    63
	        -e 's,@@CT_VERSION@@,$(VERSION),g;'	\
yann@182
    64
	        -e 's,@@CT_DATE@@,$(DATE),g;'       \
yann@182
    65
	     $@.in >$@
yann@182
    66
yann@182
    67
#--------------------------------------
yann@182
    68
# Clean rules
yann@182
    69
yann@182
    70
clean-bin:
yann@318
    71
	@echo "  RM     ct-ng"
yann@182
    72
	@rm -f ct-ng
yann@182
    73
yann@182
    74
clean-lib:
yann@182
    75
yann@182
    76
clean-doc:
yann@318
    77
	@echo "  RM     docs/ct-ng.1"
yann@318
    78
	@rm -f docs/ct-ng.1
yann@318
    79
	@echo "  RM     docs/ct-ng.1.gz"
yann@318
    80
	@rm -f docs/ct-ng.1.gz
yann@182
    81
yann@182
    82
#--------------------------------------
yann@182
    83
# Install rules
yann@182
    84
yann@425
    85
# If using locally, don't install
yann@285
    86
install-local-test:
yann@296
    87
	@if [ "$(LOCAL)" = "1" ]; then                                          \
yann@296
    88
	     echo "You're using local copy as runtime. You can't (un)install."; \
yann@296
    89
	     false;                                                             \
yann@285
    90
	 fi
yann@285
    91
yann@285
    92
install-bin: install-local-test $(BINDIR)
yann@249
    93
	@echo "  INST   ct-ng"
yann@182
    94
	@install -m 755 ct-ng $(BINDIR)/ct-ng
yann@182
    95
yann@285
    96
install-lib: install-local-test $(LIBDIR) install-lib-main install-lib-samples
yann@182
    97
yann@285
    98
install-lib-main: install-local-test $(LIBDIR)
yann@380
    99
	@for src_dir in arch config kconfig patches scripts tools; do            \
yann@249
   100
	     echo "  INST   $${src_dir}/";                                  \
yann@182
   101
	     tar cf - --exclude=.svn $${src_dir} |(cd $(LIBDIR); tar xf -); \
yann@182
   102
	 done
yann@223
   103
	@rm -f $(LIBDIR)/tools/addToolVersion.sh
yann@334
   104
	@for src_file in steps.mk .version; do                 \
yann@249
   105
	     echo "  INST   $${src_file}";                          \
yann@182
   106
	     install -m 644 $${src_file} $(LIBDIR)/$${src_file};    \
yann@182
   107
	 done
yann@182
   108
yann@182
   109
# Samples need a little love:
yann@425
   110
#  - change every occurrence of CT_TOP_DIR to CT_LIB_DIR
yann@285
   111
install-lib-samples: install-local-test $(LIBDIR) install-lib-main
yann@249
   112
	@echo "  INST   samples/"
yann@182
   113
	@tar cf - --exclude=.svn samples |(cd $(LIBDIR); tar xf -)
yann@194
   114
	@for samp_file in $(LIBDIR)/samples/*/crosstool.config; do                  \
yann@182
   115
	     sed -r -i -e 's,\$$\{CT_TOP_DIR\},\$$\{CT_LIB_DIR\},g;' $${samp_file}; \
yann@182
   116
	 done
yann@182
   117
yann@285
   118
install-doc: install-local-test $(DOCDIR)
yann@286
   119
	@for doc_file in docs/CREDITS docs/overview.txt; do	\
yann@286
   120
	     echo "  INST   $${doc_file}";              	\
yann@286
   121
	     install -m 644 "$${doc_file}" $(DOCDIR);   	\
yann@182
   122
	 done
yann@249
   123
yann@285
   124
install-man: install-local-test $(MANDIR)
yann@309
   125
	@echo "  INST   ct-ng.1.gz"
yann@309
   126
	@install -m 644 docs/ct-ng.1.gz $(MANDIR)
yann@182
   127
yann@184
   128
$(BINDIR) $(LIBDIR) $(DOCDIR) $(MANDIR)::
yann@249
   129
	@echo "  MKDIR  $@"
yann@182
   130
	@install -m 755 -d $@
yann@182
   131
yann@182
   132
yann@182
   133
#--------------------------------------
yann@182
   134
# Uninstall rules
yann@182
   135
yann@296
   136
uninstall-bin: install-local-test
yann@182
   137
	@rm -f $(BINDIR)/ct-ng
yann@182
   138
yann@296
   139
uninstall-lib: install-local-test
yann@182
   140
	@rm -rf $(LIBDIR)
yann@182
   141
yann@296
   142
uninstall-doc: install-local-test
yann@182
   143
	@rm -rf $(DOCDIR)
yann@298
   144
yann@298
   145
uninstall-man: install-local-test
yann@307
   146
	@rm -f $(MANDIR)/ct-ng.1{,.gz}