Makefile.in
author Cody Schafer <dev@codyps.com>
Fri May 09 19:13:49 2014 -0700 (2014-05-09)
changeset 3312 4876ff97e039
parent 3223 58ca31386bfb
permissions -rw-r--r--
cc/gcc: allow CC_EXTRA_CONFIG_ARRAY on baremetal

The final bare-metal compiler is built using the core backend.
Currently the core uses the CC_CORE_EXTRA_CONFIG_ARRAY variable.

While this works as supposed to, this can leave the user puzzled
in the menuconfig, since all he can see is the core options, not
the final options.

Only show the core options if any of the core passes are needed,
and use the final options in the core-backend if we're issuing
the bare-metal compiler.

Signed-off-by: Cody P Schafer <dev@codyps.com>
[yann.morin.1998@free.fr: hide core options if no core pass needed;
use final option in core backend if issuing the bare-metal compiler]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Message-Id: <22181e546ba746202489.1399688067@localhost>
Patchwork-Id: 347586
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@1156
     4
# This series of test is here because GNU make 3.81 will *not* use MAKEFLAGS
yann@1156
     5
# to set additional flags in the current Makfile ( see:
yann@1156
     6
# http://savannah.gnu.org/bugs/?20501 ), although the make manual says it
yann@1156
     7
# should ( see: http://www.gnu.org/software/make/manual/make.html#Options_002fRecursion )
yann@1156
     8
# so we have to work it around by calling ourselves back if needed
yann@1156
     9
yann@1156
    10
# So why do we need not to use the built rules and variables? Because we
yann@1156
    11
# need to generate scripts/crosstool-NG.sh from scripts/crosstool-NG.sh.in
yann@1156
    12
# and there is a built-in implicit rule '%.sh:' that has neither a pre-requisite
yann@1156
    13
# nor a command associated, and that built-in implicit rule takes precedence
yann@1156
    14
# over our non-built-in implicit rule '%: %.in', below.
yann@1156
    15
yann@1156
    16
# CT_MAKEFLAGS will be used later, below...
yann@1156
    17
yann@1156
    18
# Do not print directories as we descend into them
yann@1156
    19
ifeq ($(filter --no-print-directory,$(MAKEFLAGS)),)
yann@1156
    20
CT_MAKEFLAGS += --no-print-directory
yann@1156
    21
endif
yann@1156
    22
yann@1156
    23
# Use neither builtin rules, nor builtin variables
yann@1156
    24
# Note: dual test, because if -R and -r are given on the command line
yann@1156
    25
# (who knows?), MAKEFLAGS contains 'Rr' instead of '-Rr', while adding
yann@1156
    26
# '-Rr' to MAKEFLAGS adds it literaly ( and does not add 'Rr' )
mingw@3223
    27
# Further: quad test because the flags 'rR' and '-rR' can be reordered.
yann@1156
    28
ifeq ($(filter Rr,$(MAKEFLAGS)),)
yann@1156
    29
ifeq ($(filter -Rr,$(MAKEFLAGS)),)
mingw@3223
    30
ifeq ($(filter rR,$(MAKEFLAGS)),)
mingw@3223
    31
ifeq ($(filter -rR,$(MAKEFLAGS)),)
yann@1156
    32
CT_MAKEFLAGS += -Rr
mingw@3223
    33
endif # No -rR
mingw@3223
    34
endif # No rR
yann@1156
    35
endif # No -Rr
yann@1156
    36
endif # No Rr
yann@1156
    37
yann@1156
    38
# Remove any suffix rules
yann@1156
    39
.SUFFIXES:
yann@554
    40
yann@382
    41
all: Makefile build
yann@382
    42
yann@1047
    43
###############################################################################
yann@182
    44
# Configuration variables
yann@182
    45
yann@2834
    46
# Stuff found by ./configure
yann@2835
    47
export DATE            := @DATE@
yann@2835
    48
export LOCAL           := @enable_local@
yann@2835
    49
export PROG_SED        := @program_transform_name@
yann@2835
    50
export PACKAGE_TARNAME := @PACKAGE_TARNAME@
yann@2835
    51
export VERSION         := @PACKAGE_VERSION@
yann@2835
    52
export prefix          := @prefix@
yann@2835
    53
export exec_prefix     := @exec_prefix@
yann@2835
    54
export bindir          := @bindir@
yann@2835
    55
export libdir          := @libdir@@sublibdir@
yann@2835
    56
export docdir          := @docdir@@subdocdir@
yann@2835
    57
export mandir          := @mandir@
yann@2835
    58
export datarootdir     := @datarootdir@
yann@2835
    59
export install         := @INSTALL@
yann@2835
    60
export bash            := @_BASH@
yann@2999
    61
export awk             := @_AWK@
yann@2839
    62
export grep            := @GREP@
yann@2835
    63
export make            := @MAKE@
yann@2835
    64
export sed             := @SED@
yann@2835
    65
export libtool         := @LIBTOOL@
yann@2835
    66
export libtoolize      := @LIBTOOLIZE@
yann@2835
    67
export objcopy         := @OBJCOPY@
yann@2835
    68
export objdump         := @OBJDUMP@
yann@2835
    69
export readelf         := @READELF@
yann@2835
    70
export patch           := @PATCH@
mingw@3231
    71
export gperf           := @GPERF@
yann@2835
    72
export CC              := @CC@
yann@2835
    73
export CPP             := @CPP@
yann@2835
    74
export CPPFLAGS        := @CPPFLAGS@
yann@2835
    75
export CFLAGS          := @CFLAGS@
yann@2835
    76
export LDFLAGS         := @LDFLAGS@
yann@2835
    77
export LIBS            := @LIBS@
yann@2835
    78
export curses_hdr      := @ac_ct_curses_hdr@
yann@2835
    79
export gettext         := @gettext@
yann@1109
    80
yann@2481
    81
# config options to push down to kconfig
yann@2834
    82
KCONFIG:= @kconfig_options@
yann@2481
    83
yann@1109
    84
###############################################################################
yann@2026
    85
# Non-configure variables
yann@2026
    86
MAN_SECTION := 1
yann@2026
    87
MAN_SUBDIR := /man$(MAN_SECTION)
yann@2026
    88
yann@2834
    89
PROG_NAME := $(shell echo 'ct-ng' |$(sed) -r -e '$(PROG_SED)' )
yann@2620
    90
yann@2026
    91
###############################################################################
yann@1109
    92
# Sanity checks
yann@1109
    93
yann@1109
    94
# Check if Makefile is up to date:
yann@1109
    95
Makefile: Makefile.in
yann@1109
    96
	@echo "$< did changed: you must re-run './configure'"
yann@1109
    97
	@false
yann@1109
    98
yann@1109
    99
# If installing with DESTDIR, check it's an absolute path
yann@1109
   100
ifneq ($(strip $(DESTDIR)),)
yann@1109
   101
  ifneq ($(DESTDIR),$(abspath /$(DESTDIR)))
yann@1109
   102
    $(error DESTDIR is not an absolute PATH: '$(DESTDIR)')
yann@1109
   103
  endif
yann@1109
   104
endif
yann@182
   105
yann@182
   106
###############################################################################
yann@182
   107
# Global make rules
yann@182
   108
yann@1156
   109
# If any extra MAKEFLAGS were added, re-run ourselves
yann@1156
   110
# See top of file for an explanation of why this is needed...
yann@1156
   111
ifneq ($(strip $(CT_MAKEFLAGS)),)
yann@1156
   112
yann@2505
   113
# Somehow, the new auto-completion for make in the recent distributions
yann@2505
   114
# trigger a behavior where our Makefile calls itself recursively, in a
yann@2505
   115
# never-ending loop (except on lack of ressources, swap, PIDs...)
yann@2505
   116
# Avoid this situation by cutting the recursion short at the first
yann@2505
   117
# level.
yann@2505
   118
# This has the side effect of only showing the real targets, and hiding our
yann@2505
   119
# internal ones. :-)
yann@2505
   120
ifneq ($(MAKELEVEL),0)
yann@2505
   121
$(error Recursion detected, bailing out...)
yann@2505
   122
endif
yann@2505
   123
yann@1156
   124
MAKEFLAGS += $(CT_MAKEFLAGS)
yann@2834
   125
build install clean distclean mrproper uninstall:
yann@1156
   126
	@$(MAKE) $@
yann@1156
   127
yann@1156
   128
else
yann@1156
   129
# There were no additional MAKEFLAGS to add, do the job
yann@1156
   130
yann@2835
   131
TARGETS := bin lib lib-kconfig doc man
yann@182
   132
yann@555
   133
build: $(patsubst %,build-%,$(TARGETS))
yann@182
   134
yann@1101
   135
install: build real-install
yann@555
   136
yann@555
   137
clean: $(patsubst %,clean-%,$(TARGETS))
yann@182
   138
yann@182
   139
distclean: clean
yann@554
   140
	@echo "  RM     'Makefile'"
yann@182
   141
	@rm -f Makefile
yann@182
   142
yann@2834
   143
mrproper: distclean
yann@2834
   144
	@echo "  RM     'autostuff'"
yann@2834
   145
	@ rm -rf autom4te.cache config.log config.status configure
yann@2834
   146
yann@1048
   147
uninstall: real-uninstall
yann@182
   148
yann@182
   149
###############################################################################
yann@182
   150
# Specific make rules
yann@182
   151
yann@182
   152
#--------------------------------------
yann@182
   153
# Build rules
yann@182
   154
yann@2835
   155
build-bin: $(PROG_NAME)             \
yann@2835
   156
           scripts/crosstool-NG.sh  \
yann@2835
   157
           scripts/saveSample.sh    \
yann@2835
   158
           scripts/showTuple.sh
yann@1297
   159
	@chmod 755 $^
yann@182
   160
yann@2838
   161
build-lib: config/configure.in  \
yann@2838
   162
           paths.mk             \
yann@2838
   163
           paths.sh
yann@2835
   164
yann@2835
   165
build-lib-kconfig:
yann@2835
   166
	@$(MAKE) -C kconfig
yann@182
   167
yann@555
   168
build-doc:
yann@555
   169
yann@2620
   170
build-man: docs/$(PROG_NAME).1.gz
yann@309
   171
yann@2620
   172
docs/$(PROG_NAME).1.gz: docs/$(PROG_NAME).1
yann@554
   173
	@echo "  GZIP   '$@'"
yann@317
   174
	@gzip -c9 $< >$@
yann@182
   175
yann@2621
   176
define sed_it
yann@2621
   177
	@echo "  SED    '$@'"
yann@2834
   178
	@$(sed) -r -e 's,@@CT_BINDIR@@,$(bindir),g;'        \
yann@2834
   179
	           -e 's,@@CT_LIBDIR@@,$(libdir),g;'        \
yann@2834
   180
	           -e 's,@@CT_DOCDIR@@,$(docdir),g;'        \
yann@2834
   181
	           -e 's,@@CT_MANDIR@@,$(mandir),g;'        \
yann@2621
   182
	           -e 's,@@CT_PROG_NAME@@,$(PROG_NAME),g;'  \
yann@2621
   183
	           -e 's,@@CT_VERSION@@,$(VERSION),g;'	    \
yann@2621
   184
	           -e 's,@@CT_DATE@@,$(DATE),g;'            \
yann@2621
   185
	           -e 's,@@CT_make@@,$(make),g;'            \
yann@2621
   186
	           -e 's,@@CT_bash@@,$(bash),g;'            \
yann@2999
   187
	           -e 's,@@CT_awk@@,$(awk),g;'              \
yann@2621
   188
	           $< >$@
yann@2621
   189
endef
yann@2621
   190
yann@2622
   191
docs/$(PROG_NAME).1: docs/ct-ng.1.in Makefile
yann@2622
   192
	$(call sed_it)
yann@2622
   193
yann@2623
   194
$(PROG_NAME): ct-ng.in Makefile
yann@2621
   195
	$(call sed_it)
yann@2621
   196
yann@470
   197
%: %.in Makefile
yann@2621
   198
	$(call sed_it)
yann@1153
   199
yann@1153
   200
# We create a script fragment that is parseable from inside a Makefile,
yann@2838
   201
# and one from inside a shell script
yann@2481
   202
paths.mk: FORCE
yann@1153
   203
	@echo "  GEN    '$@'"
yann@2838
   204
	@(echo 'export install=$(install)';         \
yann@2838
   205
	  echo 'export bash=$(bash)';               \
yann@2999
   206
	  echo 'export awk=$(awk)';                 \
yann@2838
   207
	  echo 'export grep=$(grep)';               \
yann@2838
   208
	  echo 'export make=$(make)';               \
yann@2838
   209
	  echo 'export sed=$(sed)';                 \
yann@2838
   210
	  echo 'export libtool=$(libtool)';         \
yann@2838
   211
	  echo 'export libtoolize=$(libtoolize)';   \
yann@2838
   212
	  echo 'export objcopy=$(objcopy)';         \
yann@2838
   213
	  echo 'export objdump=$(objdump)';         \
yann@2838
   214
	  echo 'export readelf=$(readelf)';         \
yann@2838
   215
	  echo 'export patch=$(patch)';             \
mingw@3231
   216
	  echo 'export gperf=$(gperf)';             \
yann@2838
   217
	 ) >$@
yann@2838
   218
yann@2838
   219
paths.sh: FORCE
yann@2838
   220
	@echo "  GEN    '$@'"
yann@2838
   221
	@(echo 'export install="$(install)"';       \
yann@2838
   222
	  echo 'export bash="$(bash)"';             \
yann@2999
   223
	  echo 'export awk="$(awk)"';               \
yann@2838
   224
	  echo 'export grep="$(grep)"';             \
yann@2838
   225
	  echo 'export make="$(make)"';             \
yann@2838
   226
	  echo 'export sed="$(sed)"';               \
yann@2838
   227
	  echo 'export libtool="$(libtool)"';       \
yann@2838
   228
	  echo 'export libtoolize="$(libtoolize)"'; \
yann@2838
   229
	  echo 'export objcopy="$(objcopy)"';       \
yann@2838
   230
	  echo 'export objdump="$(objdump)"';       \
yann@2838
   231
	  echo 'export readelf="$(readelf)"';       \
yann@2838
   232
	  echo 'export patch="$(patch)"';           \
mingw@3231
   233
	  echo 'export gperf="$(gperf)"';           \
yann@2838
   234
	 ) >$@
yann@182
   235
yann@2481
   236
config/configure.in: FORCE
yann@2481
   237
	@echo "  GEN    '$@'"
yann@2481
   238
	@{  printf "# Generated file, do not edit\n";            \
yann@2481
   239
	    printf "# Default values as found by ./configure\n"; \
yann@2481
   240
	    for var in $(KCONFIG); do                            \
yann@2481
   241
	        printf "\n";                                     \
yann@2481
   242
	        printf "config CONFIGURE_$${var%%=*}\n";         \
yann@2481
   243
	        if [ "$${var#*=}" = "y" ]; then                  \
yann@2631
   244
	            printf "    def_bool y\n";                   \
yann@2631
   245
	        else                                             \
yann@2631
   246
	            printf "    bool\n";                         \
yann@2481
   247
	        fi;                                              \
yann@2481
   248
	    done;                                                \
yann@2481
   249
	 } >$@
yann@2481
   250
yann@2481
   251
FORCE:
yann@2481
   252
yann@182
   253
#--------------------------------------
yann@182
   254
# Clean rules
yann@182
   255
yann@182
   256
clean-bin:
yann@2620
   257
	@echo "  RM     '$(PROG_NAME)'"
yann@2620
   258
	@rm -f $(PROG_NAME)
yann@1339
   259
	@echo "  RM     'scripts/crosstool-NG.sh'"
yann@1158
   260
	@rm -f scripts/crosstool-NG.sh
yann@1339
   261
	@echo "  RM     'scripts/saveSample.sh'"
yann@1186
   262
	@rm -f scripts/saveSample.sh
yann@1339
   263
	@echo "  RM     'scripts/showTuple.sh'"
yann@1336
   264
	@rm -f scripts/showTuple.sh
yann@182
   265
yann@182
   266
clean-lib:
yann@2838
   267
	@echo "  RM     'paths'"
yann@2838
   268
	@rm -f paths.mk paths.sh
yann@2481
   269
	@echo "  RM     'config/configure.in'"
yann@2481
   270
	@rm -f config/configure.in
yann@182
   271
yann@2835
   272
clean-lib-kconfig:
yann@2835
   273
	@$(MAKE) -C kconfig clean
yann@2835
   274
yann@182
   275
clean-doc:
yann@555
   276
yann@555
   277
clean-man:
yann@2620
   278
	@echo "  RM     'docs/$(PROG_NAME).1'"
yann@2620
   279
	@rm -f docs/$(PROG_NAME).1
yann@2620
   280
	@echo "  RM     'docs/$(PROG_NAME).1.gz'"
yann@2620
   281
	@rm -f docs/$(PROG_NAME).1.gz
yann@182
   282
yann@182
   283
#--------------------------------------
yann@554
   284
# Check for --local setup
yann@182
   285
yann@2834
   286
ifeq ($(strip $(LOCAL)),yes)
yann@1048
   287
yann@1101
   288
real-install:
yann@1297
   289
	@true
yann@1048
   290
yann@1048
   291
real-uninstall:
yann@1048
   292
	@true
yann@1048
   293
yann@1048
   294
else
yann@285
   295
yann@554
   296
#--------------------------------------
yann@554
   297
# Install rules
yann@554
   298
yann@1876
   299
real-install: $(patsubst %,install-%,$(TARGETS)) install-post
yann@1048
   300
yann@2834
   301
install-bin: $(DESTDIR)$(bindir)
yann@2620
   302
	@echo "  INST    '$(PROG_NAME)'"
yann@2834
   303
	@$(install) -m 755 $(PROG_NAME) "$(DESTDIR)$(bindir)/$(PROG_NAME)"
yann@182
   304
yann@555
   305
# If one is hacking crosstool-NG, the patch set might change between any two
yann@555
   306
# installations of the same VERSION, thus the patches must be removed prior
yann@3185
   307
# to being installed. It is the responsibility of the user to call uninstall
yann@3185
   308
# first, if (s)he deems it necessary
yann@3185
   309
install-lib: $(DESTDIR)$(libdir)    \
yann@2835
   310
             install-lib-main       \
yann@2835
   311
             install-lib-samples
yann@182
   312
yann@2835
   313
LIB_SUB_DIR := config contrib patches scripts
yann@2834
   314
$(patsubst %,install-lib-%-copy,$(LIB_SUB_DIR)): $(DESTDIR)$(libdir)
yann@1994
   315
	@echo "  INSTDIR '$(patsubst install-lib-%-copy,%,$(@))/'"
yann@1994
   316
	@tar cf - --exclude='*.sh.in' $(patsubst install-lib-%-copy,%,$(@)) \
yann@2834
   317
	 |(cd "$(DESTDIR)$(libdir)"; tar xf -)
yann@1994
   318
yann@1994
   319
# Huh? It seems we need at least one command to make this rule kick-in.
yann@1994
   320
install-lib-%: install-lib-%-copy; @true
yann@1994
   321
yann@1994
   322
# Huh? that one does not inherit the -opy dependency, above...
yann@1994
   323
install-lib-scripts: install-lib-scripts-copy
yann@2834
   324
	@chmod a+x $(DESTDIR)$(libdir)/scripts/crosstool-NG.sh
yann@2834
   325
	@chmod a+x $(DESTDIR)$(libdir)/scripts/saveSample.sh
yann@2834
   326
	@rm -f "$(DESTDIR)$(libdir)/scripts/addToolVersion.sh"
yann@1994
   327
yann@2834
   328
install-lib-main: $(DESTDIR)$(libdir) $(patsubst %,install-lib-%,$(LIB_SUB_DIR))
yann@1994
   329
	@echo "  INST    'steps.mk'"
yann@2834
   330
	@$(install) -m 644 steps.mk "$(DESTDIR)$(libdir)/steps.mk"
yann@2838
   331
	@echo "  INST    'paths'"
yann@2838
   332
	@$(install) -m 644 paths.mk paths.sh "$(DESTDIR)$(libdir)"
yann@182
   333
yann@182
   334
# Samples need a little love:
yann@425
   335
#  - change every occurrence of CT_TOP_DIR to CT_LIB_DIR
yann@2834
   336
install-lib-samples: $(DESTDIR)$(libdir) install-lib-main
yann@1994
   337
	@echo "  INSTDIR 'samples/'"
yann@2577
   338
	@for samp_dir in samples/*/; do                                         \
yann@2834
   339
	     mkdir -p "$(DESTDIR)$(libdir)/$${samp_dir}";                       \
yann@2422
   340
	     $(sed) -r -e 's:\$$\{CT_TOP_DIR\}:\$$\{CT_LIB_DIR\}:;'             \
yann@2422
   341
	               -e 's:^(CT_WORK_DIR)=.*:\1="\$${CT_TOP_DIR}/.build":;'   \
yann@2577
   342
	            $${samp_dir}/crosstool.config                               \
yann@2834
   343
	            >"$(DESTDIR)$(libdir)/$${samp_dir}/crosstool.config";       \
yann@2577
   344
	     $(install) -m 644 "$${samp_dir}/reported.by"                       \
yann@2834
   345
	                       "$(DESTDIR)$(libdir)/$${samp_dir}";              \
yann@2577
   346
	     for libc_cfg in "$${samp_dir}/"*libc*.config; do                   \
yann@2577
   347
	         [ -f "$${libc_cfg}" ] || continue;                             \
yann@2577
   348
	         $(install) -m 644 "$${libc_cfg}"                               \
yann@2834
   349
	                           "$(DESTDIR)$(libdir)/$${samp_dir}";          \
yann@2577
   350
	     done;                                                              \
yann@182
   351
	 done
yann@2834
   352
	@$(install) -m 644 samples/samples.mk "$(DESTDIR)$(libdir)/samples/samples.mk"
yann@182
   353
yann@2835
   354
KCONFIG_FILES := conf mconf nconf kconfig.mk
yann@2835
   355
install-lib-kconfig: $(DESTDIR)$(libdir) install-lib-main
yann@2835
   356
	@echo "  INST    'kconfig/'"
titus@3103
   357
	@mkdir -p "$(DESTDIR)$(libdir)/kconfig"
yann@2835
   358
	@for f in $(KCONFIG_FILES); do                                      \
titus@3103
   359
	    install "kconfig/$${f}" "$(DESTDIR)$(libdir)/kconfig/$${f}";    \
yann@2835
   360
	 done
yann@2835
   361
yann@2834
   362
install-doc: $(DESTDIR)$(docdir)
yann@2076
   363
	@echo "  INST    'docs/*.txt'"
yann@2076
   364
	@for doc_file in docs/*.txt; do                              \
yann@2834
   365
	     $(install) -m 644 "$${doc_file}" "$(DESTDIR)$(docdir)"; \
yann@182
   366
	 done
yann@249
   367
yann@2834
   368
install-man: $(DESTDIR)$(mandir)$(MAN_SUBDIR)
yann@2620
   369
	@echo "  INST    '$(PROG_NAME).1.gz'"
yann@2834
   370
	@$(install) -m 644 docs/$(PROG_NAME).1.gz "$(DESTDIR)$(mandir)$(MAN_SUBDIR)"
yann@182
   371
yann@2834
   372
$(sort $(DESTDIR)$(bindir) $(DESTDIR)$(libdir) $(DESTDIR)$(docdir) $(DESTDIR)$(mandir)$(MAN_SUBDIR)):
yann@1994
   373
	@echo "  MKDIR   '$@/'"
yann@1153
   374
	@$(install) -m 755 -d "$@"
yann@182
   375
yann@1876
   376
install-post:
yann@1876
   377
	@echo
yann@2620
   378
	@echo "For auto-completion, do not forget to install '$(PROG_NAME).comp' into"
yann@1994
   379
	@echo "your bash completion directory (usually /etc/bash_completion.d)"
yann@182
   380
yann@182
   381
#--------------------------------------
yann@182
   382
# Uninstall rules
yann@182
   383
yann@1048
   384
real-uninstall: $(patsubst %,uninstall-%,$(TARGETS))
yann@1048
   385
yann@554
   386
uninstall-bin:
yann@2834
   387
	@echo "  RM      '$(DESTDIR)$(bindir)/$(PROG_NAME)'"
yann@2834
   388
	@rm -f "$(DESTDIR)$(bindir)/$(PROG_NAME)"
yann@182
   389
yann@554
   390
uninstall-lib:
yann@2834
   391
	@echo "  RMDIR   '$(DESTDIR)$(libdir)/'"
yann@2834
   392
	@rm -rf "$(DESTDIR)$(libdir)"
yann@298
   393
yann@554
   394
uninstall-doc:
yann@2834
   395
	@echo "  RMDIR   '$(DESTDIR)$(docdir)/'"
yann@2834
   396
	@rm -rf "$(DESTDIR)$(docdir)"
yann@554
   397
yann@554
   398
uninstall-man:
yann@2834
   399
	@echo "  RM      '$(DESTDIR)$(mandir)$(MAN_SUBDIR)/$(PROG_NAME).1.gz'"
yann@2834
   400
	@rm -f "$(DESTDIR)$(mandir)$(MAN_SUBDIR)/$(PROG_NAME).1"{,.gz}
yann@1048
   401
yann@1048
   402
endif # Not --local
yann@1156
   403
yann@1156
   404
endif # No extra MAKEFLAGS were added
michael@2694
   405
michael@2694
   406
.PHONY: build $(patsubst %,build-%,$(TARGETS)) install