Changeset 29e68b75 in rtems for make


Ignore:
Timestamp:
Jul 26, 1999, 9:26:44 PM (21 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
38bfb0d
Parents:
08b5f55
Message:

Patch from Ralf Corsepius <corsepiu@…>:

This patch is an addition to "The big-patch"

CHANGES:

  • FIX: c/Makefile.am: bogus comment which changed the behavior of c/Makefile.am removed
  • FIX: make/custom/ts_i386ex.cfg did not set HAS_NETWORKING correctly (Me thinks it might have been me who added this bogus setting :-).
  • NEW: removing make targets get, protos, debug_install, profile_install
  • NEW: replacing clobber with distclean
  • NEW: Reimplement distclean and clean as reverse depth first make targets (adaptation to automake's behavior)
  • NEW: removing RCS_CLEAN from make distclean (tools/build/rcs_clean is still in - remove it?)
  • NEW: "$(RM) Makefile" added to make distclean (adaptation to automake's behavior)
  • NEW: "$(RM) config.cache config.log" to CLOBBER_ADDITIONS in [lib|exec|tests]/Makefile.in (adaptation to automake's behavior)
  • NEW: "$(CLEAN_PROTOS)" removed (Not used anywhere)
  • NEW: binpatch.c moved from i386 bsp tools to tools/build (AFAIS, binpatch is not specific to the pc386 BSP at all)
  • NEW: AC_EXEEXT added to all configure scripts which contain AC_PROG_CC (Cygwin support)
  • NEW/Experimental: An experimental implementation of temporary installation tree support in libbsp/i386/pc386/tools/Makefile.am, based on dependency tracking with make, instead of applying INSTALL_CHANGE.

REMARK:

  • This patch is small in size, but changes the behavior of "make clean|distclean|clobber" basically.
  • This patch does not alter building/compiling RTEMS, ie. there should be no need to rerun all "make all" building tests.

KNOWN BUGS:

  • make RTEMS_BSP="..." distclean in c/ runs "make distclean" in BSPs subdirectories passed through RTEMS_BSP and in "c/." only, but does not descend into other BSP subdirectories previously configured with different settings of make RTEMS_BSP="...". => Workaround: always use the same setting of RTEMS_BSP when working inside the build-tree.
  • "make [distclean|clean]" do not clean subdirectories, which have been configured at configuration time, but which are not used due to make-time configuration (e.g. macros/networking/rdgb subdirectories). This will problem will vanish by itself when migrating from make-time to configuration-time configuration

APPLYING THE PATCH

mv c/src/lib/libbsp/i386/pc386/tools/binpatch.c tools/build
patch -p1 < rtems-rc-19990709-2.diff
autogen

Location:
make
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • make/Makefile.in

    r08b5f55 r29e68b75  
    329329
    330330depend-recursive \
    331 clobber-recursive \
    332331preinstall-recursive \
    333332debug-recursive \
    334 debug_install-recursive \
    335 profile-recursive \
    336 profile_install-recursive:
     333profile-recursive:
    337334        @set fnord $(MAKEFLAGS); amf=$$2; \
    338335        dot_seen=no; \
     
    356353.PHONY: debug-recursive
    357354
    358 debug_install: debug_install-recursive
    359 .PHONY: debug_install-recursive
    360 
    361355profile: profile-recursive
    362356.PHONY: profile-recursive
    363357
    364 profile_install: profile_install-recursive
    365 .PHONY: profile-recursive
    366 
    367358preinstall: preinstall-recursive
    368359.PHONY: preinstall-recursive
    369 
    370 clobber: clobber-recursive
    371 .PHONY: clobber-recursive
    372360
    373361depend: depend-recursive
     
    378366.PHONY: debug debug-am
    379367
    380 debug_install-am:
    381 debug_install: debug_install-am
    382 .PHONY: debug_install debug_install-am
    383 
    384368profile-am:
    385369profile: profile-am
    386370.PHONY: profile profile-am
    387371
    388 profile_install-am:
    389 profile_install: profile_install-am
    390 .PHONY: profile_install profile_install-am
    391 
    392372preinstall-am:
    393373preinstall: preinstall-am
    394374.PHONY: preinstall preinstall-am
    395375
    396 clobber-am:
    397 clobber: clobber-am
    398 .PHONY: clobber clobber-am
    399 
    400376depend-am:
    401377depend: depend-am
  • make/README

    r08b5f55 r29e68b75  
    117117        debug and profile support.
    118118
    119         Targets debug_install and profile_install are equivalent to 'make
    120         install' except that debug (or profile) variants are built and
    121         installed.
    122 
    123         The targets debug, profile, debug_install, profile_install, etc., can be
     119        The targets debug, profile, etc., can be
    124120        invoked recursively at the directory make level.  So from the top of a
    125121        tree, one could install a debug version of everything under that point
     
    127123
    128124            $ cd src/lib
    129             $ gmake debug_install
     125            $ gmake debug
     126            $ gmake install
    130127
    131128        When building a command that is linked with a generated library, the
  • make/Templates/Makefile.in

    r08b5f55 r29e68b75  
    197197.PHONY: debug debug-am
    198198
    199 debug_install-am:
    200 debug_install: debug_install-am
    201 .PHONY: debug_install debug_install-am
    202 
    203199profile-am:
    204200profile: profile-am
    205201.PHONY: profile profile-am
    206202
    207 profile_install-am:
    208 profile_install: profile_install-am
    209 .PHONY: profile_install profile_install-am
    210 
    211203preinstall-am:
    212204preinstall: preinstall-am
    213205.PHONY: preinstall preinstall-am
    214206
    215 clobber-am:
    216 clobber: clobber-am
    217 .PHONY: clobber clobber-am
    218 
    219207depend-am:
    220208depend: depend-am
  • make/compilers/Makefile.in

    r08b5f55 r29e68b75  
    197197.PHONY: debug debug-am
    198198
    199 debug_install-am:
    200 debug_install: debug_install-am
    201 .PHONY: debug_install debug_install-am
    202 
    203199profile-am:
    204200profile: profile-am
    205201.PHONY: profile profile-am
    206202
    207 profile_install-am:
    208 profile_install: profile_install-am
    209 .PHONY: profile_install profile_install-am
    210 
    211203preinstall-am:
    212204preinstall: preinstall-am
    213205.PHONY: preinstall preinstall-am
    214206
    215 clobber-am:
    216 clobber: clobber-am
    217 .PHONY: clobber clobber-am
    218 
    219207depend-am:
    220208depend: depend-am
  • make/custom/Makefile.in

    r08b5f55 r29e68b75  
    225225.PHONY: debug debug-am
    226226
    227 debug_install-am:
    228 debug_install: debug_install-am
    229 .PHONY: debug_install debug_install-am
    230 
    231227profile-am:
    232228profile: profile-am
    233229.PHONY: profile profile-am
    234230
    235 profile_install-am:
    236 profile_install: profile_install-am
    237 .PHONY: profile_install profile_install-am
    238 
    239231preinstall-am:
    240232preinstall: preinstall-am
    241233.PHONY: preinstall preinstall-am
    242234
    243 clobber-am:
    244 clobber: clobber-am
    245 .PHONY: clobber clobber-am
    246 
    247235depend-am:
    248236depend: depend-am
  • make/custom/ts_386ex.cfg

    r08b5f55 r29e68b75  
    2323# -fomit-frame-pointer breaks debugging and C++ exceptions
    2424CFLAGS_OPTIMIZE_V=-O4
    25 
    26 # This target does support the TCP/IP stack so honour requests
    27 # to enable it.
    28 HAS_NETWORKING=yes
    2925
    3026# This BSP does not support librdbg
  • make/directory.cfg

    r08b5f55 r29e68b75  
    2222        done && test -z "$$fail"
    2323
     24
     25# mostlyclean-recursive maintainer-clean-recursive:
     26clean-recursive \
     27distclean-recursive:
     28        @set fnord $(MAKEFLAGS); amf=$$2; \
     29        dot_seen=no; \
     30        rev=''; list='$(SUB_DIRS)'; for subdir in $$list; do \
     31          rev="$$subdir $$rev"; \
     32          test "$$subdir" = "." && dot_seen=yes; \
     33        done; \
     34        test "$$dot_seen" = "no" && rev=". $$rev"; \
     35        target=`echo $@ | sed s/-recursive//`; \
     36        for subdir in $$rev; do \
     37          echo "Making $$target in $$subdir"; \
     38          if test "$$subdir" = "."; then \
     39            local_target="$$target-am"; \
     40          else \
     41            local_target="$$target"; \
     42          fi; \
     43          (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
     44           || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
     45        done && test -z "$$fail"
     46
     47clean-am: clean-generic
     48distclean-am: distclean-generic clean-am
     49
    2450preinstall: preinstall-recursive
    2551.PHONY: preinstall preinstall-am preinstall-recursive
     52
     53distclean: distclean-recursive
     54        -$(RM) config.status
     55
     56.PHONY: distclean distclean-am distclean-recursive
     57
     58clean: clean-recursive
     59.PHONY: clean clean-am clean-recursive
     60
  • make/leaf.cfg

    r08b5f55 r29e68b75  
    5656# Builtin targets for compilation variants
    5757#
    58 debug debug_install:
     58debug:
    5959        $(MAKE) -f $(MAKEFILE) MAKEFILE=$(MAKEFILE) "ARCH=${TARGET_ARCH}-debug" \
    6060      "CFLAGS_DEBUG=$(CFLAGS_DEBUG_V)" \
     
    6262      "LDFLAGS_DEBUG=$(LDFLAGS_DEBUG_V)" $(TARGET_VA)
    6363
    64 profile profile_install:
     64profile:
    6565        $(MAKE) -f $(MAKEFILE) \
    6666      MAKEFILE=$(MAKEFILE) "ARCH=${TARGET_ARCH}-profile" \
     
    8181
    8282#
    83 # TARGET_VA will convert $@ (expected to be 'debug' or
    84 #     'debug_install' or 'profile' etc.)
     83# TARGET_VA will convert $@ (expected to be 'debug' or 'profile' etc.)
    8584#   into "" or "install" as appropriate.
    8685#   Used for variant recursion.
     
    8988TARGET_debug_V = all
    9089TARGET_profile_V = all
    91 
    92 TARGET_debug_install_V = install
    93 TARGET_profile_install_V = install
    9490
    9591TARGET_VA = $(TARGET_$@_V)
     
    108104LIBSUFFIX_VA = $(LIB_VARIANT).a
    109105
    110 get: $(SRCS) $(GET_ADDITIONS)
    111 
    112106#
    113 # Builtin clean and clobber rules
     107# Builtin clean and distclean rules
    114108# Individual makefiles can add stuff via CLEAN_ADDITIONS and CLOBBER_ADDITIONS
    115109# If desperate to save something, they can override CLEAN_OS, CLEAN_CC, etc.
    116110#
    117111
    118 clean:
    119         $(RM) -r a.out core mon.out gmon.out $(CLEAN_OS) $(CLEAN_CC)
    120         $(RM) -r $(CLEAN_PROTO) $(CLEAN_DEPEND) a.out
    121         $(RM) -r $(VARIANTS) $(CLEAN_ADDITIONS) $(IMPORT_SOURCE)
     112clean-am: clean-generic
     113        -$(RM) -r $(CLEAN_OS) $(CLEAN_CC) $(CLEAN_DEPEND)
     114        -$(RM) -r $(VARIANTS)
     115#       -$(RM) -r $(IMPORT_SOURCE)
    122116
    123 clobber: clean
    124         -$(RCS_CLEAN)
    125         $(RM) .#*
    126         $(RM) -r $(CLOBBER_OS) $(CLOBBER_CC) $(CLOBBER_DEPEND)
    127         $(RM) -r $(CLOBBER_ADDITIONS) a.out
     117distclean-am: distclean-generic clean-am
     118        -$(RM) -r $(CLOBBER_OS) $(CLOBBER_CC) $(CLOBBER_DEPEND)
    128119
    129120preinstall-am:
    130121preinstall: preinstall-am
     122
     123distclean: distclean-am
     124        -$(RM) config.status
     125clean: clean-am
     126
     127.PHONY: distclean distclean-am
     128.PHONY: clean clean-am
  • make/main.cfg

    r08b5f55 r29e68b75  
    5858#
    5959
    60 RECURSE_TARGETS=all clean protos get clobber depend install \
     60RECURSE_TARGETS=all depend install \
    6161preinstall-recursive \
    62 $(TARGET_VARIANTS) $(TARGET_VARIANTS:%=%_install)
     62$(TARGET_VARIANTS)
    6363
    6464${ARCH}:
    6565        test -d ${ARCH} || mkdir ${ARCH}
    66 
    6766
    6867# general purpose forcing dependency; try to use .PHONY instead
     
    7170FORCE:
    7271
    73 .PHONY: $(RECURSE_TARGETS)
     72distclean-generic:
     73        -$(RM) Makefile .#* $(CONFIG_CLEAN_FILES)
     74        -$(RM) -r $(CLOBBER_ADDITIONS)
     75
     76clean-generic:
     77        -$(RM) a.out core mon.out gmon.out
     78        -$(RM) -r $(CLEAN_ADDITIONS)
     79
     80.PHONY: $(RECURSE_TARGETS)
     81.PHONY: clean-generic
     82.PHONY: distclean-generic
Note: See TracChangeset for help on using the changeset viewer.