mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
Use include path convention for PKGs
Packages have to define a Makefile.include target in pkg/%/Makefile. pkg/%/Makefile.include will be loaded after all other dependencies.
This commit is contained in:
parent
5906f18a81
commit
84cffaa0a0
@ -78,21 +78,34 @@ SRC = $(wildcard *.c)
|
|||||||
# string array of all names replaced .c with .o
|
# string array of all names replaced .c with .o
|
||||||
OBJ = $(SRC:%.c=${BINDIR}${PROJECT}/%.o)
|
OBJ = $(SRC:%.c=${BINDIR}${PROJECT}/%.o)
|
||||||
|
|
||||||
$(BINDIR)$(PROJECT).a: $(OBJ)
|
$(BINDIR)$(PROJECT).a: $(OBJ)
|
||||||
$(AD)$(AR) -rc $(BINDIR)$(PROJECT).a $(OBJ)
|
$(AD)$(AR) -rc $(BINDIR)$(PROJECT).a $(OBJ)
|
||||||
|
|
||||||
|
# include Makefile.includes for packages in $(USEPKG)
|
||||||
|
$(RIOTBASE)/pkg/%/Makefile.include::
|
||||||
|
$(AD)"$(MAKE)" -C $(RIOTBASE)/pkg/$* Makefile.include
|
||||||
|
|
||||||
|
.PHONY: $(USEPKG:%=$(RIOTBASE)/pkg/%/Makefile.include)
|
||||||
|
|
||||||
|
-include $(USEPKG:%=$(RIOTBASE)/pkg/%/Makefile.include)
|
||||||
|
|
||||||
# pull in dependency info for *existing* .o files
|
# pull in dependency info for *existing* .o files
|
||||||
-include $(OBJ:.o=.d)
|
-include $(OBJ:.o=.d)
|
||||||
|
|
||||||
$(BINDIR)$(PROJECT)/%.o: %.c $(PROJDEPS)
|
$(BINDIR)$(PROJECT)/%.o: %.c $(PROJDEPS) $(USEPKG:%=${BINDIR}%.a)
|
||||||
|
@mkdir -p ${BINDIR}
|
||||||
@echo; echo "Compiling.... $*.c"; echo
|
@echo; echo "Compiling.... $*.c"; echo
|
||||||
@test -d $(BINDIR)$(PROJECT) || mkdir -p $(BINDIR)$(PROJECT)
|
@test -d $(BINDIR)$(PROJECT) || mkdir -p $(BINDIR)$(PROJECT)
|
||||||
$(AD)$(CC) $(CFLAGS) $(INCLUDES) -c $*.c -o $(BINDIR)$(PROJECT)/$*.o
|
$(AD)$(CC) $(CFLAGS) $(INCLUDES) -c $*.c -o $(BINDIR)$(PROJECT)/$*.o
|
||||||
|
|
||||||
|
$(USEPKG:%=${BINDIR}%.a)::
|
||||||
|
@mkdir -p ${BINDIR}
|
||||||
|
"$(MAKE)" -C $(RIOTBASE)/pkg/$(patsubst ${BINDIR}%.a,%,$@)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
@for i in $(USEPKG) ; do "$(MAKE)" -C $(RIOTBASE)/pkg/$$i clean ; done ;
|
||||||
"$(MAKE)" -C $(RIOTBOARD)/$(BOARD) clean
|
"$(MAKE)" -C $(RIOTBOARD)/$(BOARD) clean
|
||||||
"$(MAKE)" -C $(RIOTBASE) clean
|
"$(MAKE)" -C $(RIOTBASE) clean
|
||||||
@for i in $(USEPKG) ; do "$(MAKE)" -C $(RIOTBASE)/pkg/$$i clean ; done ;
|
|
||||||
rm -rf $(BINDIR)
|
rm -rf $(BINDIR)
|
||||||
|
|
||||||
flash: all
|
flash: all
|
||||||
|
@ -32,3 +32,6 @@ clean::
|
|||||||
|
|
||||||
distclean::
|
distclean::
|
||||||
rm -rf $(CURDIR)/$(PKG_NAME)
|
rm -rf $(CURDIR)/$(PKG_NAME)
|
||||||
|
|
||||||
|
Makefile.include:
|
||||||
|
@true
|
||||||
|
1
pkg/libcoap/Makefile.include
Normal file
1
pkg/libcoap/Makefile.include
Normal file
@ -0,0 +1 @@
|
|||||||
|
INCLUDES += -I $(RIOTBASE)/pkg/libcoap/include
|
1
pkg/libcoap/include/coap.h
Normal file
1
pkg/libcoap/include/coap.h
Normal file
@ -0,0 +1 @@
|
|||||||
|
#include "../libcoap/coap.h"
|
Loading…
Reference in New Issue
Block a user