Skip to content
Snippets Groups Projects
  1. Aug 22, 2018
  2. Mar 22, 2018
  3. Mar 14, 2018
    • Gaëtan Harter's avatar
      Makefile.base: fix AR keeping removed source files objects · 7c85e6e0
      Gaëtan Harter authored
      AR incrementally adds file without removing files.
      If a c file is deleted or disabled(submodule removal) it is not removed from
      archive and still ends up in the final elf file.
      
      This fix removes the need to do 'make clean' for this case.
      
      However it will break cases where an APPLICATION and a MODULE or two modules
      have the same name and only worked because source files names where different.
      7c85e6e0
  4. Nov 03, 2017
  5. Mar 28, 2017
  6. Mar 22, 2017
  7. Mar 01, 2017
  8. Dec 22, 2016
  9. Dec 21, 2016
  10. Oct 18, 2016
  11. Aug 29, 2016
  12. Jul 05, 2016
  13. May 31, 2016
  14. May 29, 2015
  15. May 26, 2015
  16. Feb 08, 2015
  17. Nov 11, 2014
    • René Kijewski's avatar
      make: easify {sys,drivers}/Makefile · 9a15a6de
      René Kijewski authored
      Currently you need to add every new sys and driver module into the
      respective Makefile. This requires rebasing if another module was merged
      in the meantime.
      
      This PR allows you to omit the entry to {sys,drivers}/Makefile, if the
      subfolder has the same name as the module name, which should be sensible
      in most cases.
      9a15a6de
  18. Sep 28, 2014
    • Ludwig Knüpfer's avatar
      make: optimize archive creation/modification · 7e123c79
      Ludwig Knüpfer authored
      Only add/replace changed members to the archive.
      7e123c79
    • Ludwig Knüpfer's avatar
      make: 1571 fixup: dont create existing directories · 182b603a
      Ludwig Knüpfer authored
      This fixes an error which was introduced by commit
      346313bf
      
      The timestamp of directories is updated when a file inside a directory
      is changed.
      Therefore, make decides a target needs to be rebuilt, whenever that
      target depends on its parent directory, because the directory is
      always newer than the file inside.
      
      http://www.gnu.org/savannah-checkouts/gnu/make/manual/html_node/Prerequisite-Types.html
      
          Occasionally, however, you have a situation where you want to
          impose a specific ordering on the rules to be invoked without
          forcing the target to be updated if one of those rules is
          executed. In that case, you want to define order-only
          prerequisites. Order-only prerequisites can be specified by
          placing a pipe symbol (|) in the prerequisites list: any
          prerequisites to the left of the pipe symbol are normal; any
          prerequisites to the right are order-only:
      
               targets : normal-prerequisites | order-only-prerequisites
      182b603a
  19. Aug 13, 2014
  20. Jun 25, 2014
  21. Jun 23, 2014
  22. Jun 21, 2014
  23. Jun 17, 2014
    • René Kijewski's avatar
      make: easifier usage of module subdirectories · 467b41ad
      René Kijewski authored
      Many modules have subdirectories. Often these subdirectories should only
      be included under certain circumstances. Modules that use submodules
      currently need to use this pattern:
      
      ```make
      DIRS = …
      
      all: $(BINDIR)$(MODULE).a
         @for i in $(DIRS) ; do $(MAKE) -C $$i ; done ;
      
      include $(RIOTBASE)/Makefile.base
      
      clean::
         @for i in $(DIRS) ; do $(MAKE) -C $$i clean ; done ;
      ```
      
      This PR moves the `all:` and `clean::` boilerplate into `Makefile.base`.
      467b41ad
    • René Kijewski's avatar
      make: detect their module name automatically · 840c0f0a
      René Kijewski authored
      For many modules the `Makefile` contains a line like
      ```
      MODULE:=$(shell basename $(CURDIR))
      ```
      This conclusively shows that we do not have to set the module name
      manually.
      
      This PR removes the need to set the module name manually, if it is the
      same as the basename. E.g. for `…/sys/vtimer/Makefile` the variable
      make `MODULE` will still be `vtimer`, because it is the basename of the
      Makefile.
      840c0f0a
  24. May 15, 2014
  25. Apr 09, 2014
  26. Apr 08, 2014
    • René Kijewski's avatar
      Use subfolders in bin dir · 3f59eefb
      René Kijewski authored
      Creating all object files in one directory is bound to produce name
      clashes. RIOT developers may take care to use unique file names, but
      external packages surely don't.
      
      With this change all the objects of a module (e.g. `shell`) will be
      created in `bin/$(BOARD)/$(MODULE)`.
      
      I compared the final linker command before and after the change. The
      `.o` files (e.g. `startup.o`, `syscall.o` ...) are included in the same
      order. Neglecting the changed path name where the `.o` files reside, the
      linker command stays exactly the same.
      
      A major problem could be third party boards, because the location of the
      `startup.o` needs to the specified now in
      `boards/$(BOARD)/Makefile.include`, e.g.
      ```Makefile
      export UNDEF += $(BINDIR)msp430_common/startup.o
      ```
      3f59eefb
  27. Apr 01, 2014
Loading