Skip to content
Snippets Groups Projects
  • René Kijewski's avatar
    3f59eefb
    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
    History
    Use subfolders in bin dir
    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
    ```