Skip to content

Commit 1a0f2c2

Browse files
committed
Added OBJ_PWD set to /objs to move objs to a sub directory and keep useful build files clear
1 parent ed37d70 commit 1a0f2c2

File tree

2 files changed

+39
-44
lines changed

2 files changed

+39
-44
lines changed

support/archi/microchip/microchip.mk

+31-31
Original file line numberDiff line numberDiff line change
@@ -37,35 +37,35 @@ OBJECTS := $(notdir $(SRC:.S=.o)) $(notdir $(ARCHI_SRC:.S=.o))
3737
OBJECTS := $(OBJECTS:.s=.o)
3838
OBJECTS := $(OBJECTS:.c=.o)
3939
OBJECTS := $(OBJECTS:.cpp=.o)
40-
OBJECTS := $(addprefix $(OUT_PWD)/, $(OBJECTS))
41-
-include $(wildcard $(OUT_PWD)/*.d)
40+
OBJECTS := $(addprefix $(OBJ_PWD)/, $(OBJECTS))
41+
-include $(wildcard $(OBJ_PWD)/*.d)
4242
$(OBJECTS) : $(CONFIG_HEADERS)
4343

44-
# rule to build OBJECTS to OUT_PWD and give dependencies
45-
$(OUT_PWD)/%.o : %.c $(firstword $(MAKEFILE_LIST)) $(filter %.mk, $(MAKEFILE_LIST))
46-
@test -d $(OUT_PWD) || mkdir -p $(OUT_PWD)
47-
@printf "$(COMPCOLOR)µCC %-35s => %s\n$(NORM)" $(notdir $<) $(OUT_PWD)/$(notdir $@)
48-
$(VERB)$(CC) $(CCFLAGS) $(CCFLAGS_XC) -c $< $(DEFINES) $(INCLUDEPATH) -o $(OUT_PWD)/$(notdir $@)
49-
@$(CC) $(CCFLAGS) $(CCFLAGS_XC) -MM $< $(DEFINES) $(INCLUDEPATH) -MT $(OUT_PWD)/$(notdir $@) > $(OUT_PWD)/$*.d
50-
$(VERB)$(OBJDUMP) -S -r $(OUT_PWD)/$(notdir $@) > $(OUT_PWD)/$*.lst
51-
52-
$(OUT_PWD)/%.o : %.S $(firstword $(MAKEFILE_LIST)) $(filter %.mk, $(MAKEFILE_LIST))
53-
@test -d $(OUT_PWD) || mkdir -p $(OUT_PWD)
54-
@printf "$(COMPCOLOR)µCC %-35s => %s\n$(NORM)" $(notdir $<) $(OUT_PWD)/$(notdir $@)
55-
$(VERB)$(CC) $(CCFLAGS) $(CCFLAGS_XC) -c $< $(DEFINES) $(INCLUDEPATH) -o $(OUT_PWD)/$(notdir $@)
56-
@$(CC) $(CCFLAGS) $(CCFLAGS_XC) -MM $< $(DEFINES) $(INCLUDEPATH) -MT $(OUT_PWD)/$(notdir $@) > $(OUT_PWD)/$*.d
57-
58-
$(OUT_PWD)/%.o : %.s $(firstword $(MAKEFILE_LIST)) $(filter %.mk, $(MAKEFILE_LIST))
59-
@test -d $(OUT_PWD) || mkdir -p $(OUT_PWD)
60-
@printf "$(COMPCOLOR)µCC %-35s => %s\n$(NORM)" $(notdir $<) $(OUT_PWD)/$(notdir $@)
61-
$(VERB)$(CC) $(CCFLAGS) $(CCFLAGS_XC) -c $< $(DEFINES) $(INCLUDEPATH) -o $(OUT_PWD)/$(notdir $@)
62-
@$(CC) $(CCFLAGS) $(CCFLAGS_XC) -MM $< $(DEFINES) $(INCLUDEPATH) -MT $(OUT_PWD)/$(notdir $@) > $(OUT_PWD)/$*.d
63-
64-
$(OUT_PWD)/%.o : %.cpp $(firstword $(MAKEFILE_LIST)) $(filter %.mk, $(MAKEFILE_LIST))
65-
@test -d $(OUT_PWD) || mkdir -p $(OUT_PWD)
66-
@printf "$(COMPCOLOR)µC++ %-34s => %s\n$(NORM)" $(notdir $<) $(OUT_PWD)/$(notdir $@)
67-
$(VERB)$(CXX) $(CCFLAGS) $(CXXFLAGS) $(CCFLAGS_XC) $(CXXFLAGS_XC) -x c++ -c $< $(DEFINES) $(INCLUDEPATH) -o $(OUT_PWD)/$(notdir $@)
68-
@$(CXX) $(CCFLAGS) $(CXXFLAGS) $(CCFLAGS_XC) $(CXXFLAGS_XC) -MM $< $(DEFINES) $(INCLUDEPATH) -MT $(OUT_PWD)/$(notdir $@) > $(OUT_PWD)/$*.d
44+
# rule to build OBJECTS to OBJ_PWD and give dependencies
45+
$(OBJ_PWD)/%.o : %.c $(firstword $(MAKEFILE_LIST)) $(filter %.mk, $(MAKEFILE_LIST))
46+
@test -d $(OBJ_PWD) || mkdir -p $(OBJ_PWD)
47+
@printf "$(COMPCOLOR)µCC %-35s => %s\n$(NORM)" $(notdir $<) $(OBJ_PWD)/$(notdir $@)
48+
$(VERB)$(CC) $(CCFLAGS) $(CCFLAGS_XC) -c $< $(DEFINES) $(INCLUDEPATH) -o $(OBJ_PWD)/$(notdir $@)
49+
@$(CC) $(CCFLAGS) $(CCFLAGS_XC) -MM $< $(DEFINES) $(INCLUDEPATH) -MT $(OBJ_PWD)/$(notdir $@) > $(OBJ_PWD)/$*.d
50+
$(VERB)$(OBJDUMP) -S -r $(OBJ_PWD)/$(notdir $@) > $(OBJ_PWD)/$*.lst
51+
52+
$(OBJ_PWD)/%.o : %.S $(firstword $(MAKEFILE_LIST)) $(filter %.mk, $(MAKEFILE_LIST))
53+
@test -d $(OBJ_PWD) || mkdir -p $(OBJ_PWD)
54+
@printf "$(COMPCOLOR)µCC %-35s => %s\n$(NORM)" $(notdir $<) $(OBJ_PWD)/$(notdir $@)
55+
$(VERB)$(CC) $(CCFLAGS) $(CCFLAGS_XC) -c $< $(DEFINES) $(INCLUDEPATH) -o $(OBJ_PWD)/$(notdir $@)
56+
@$(CC) $(CCFLAGS) $(CCFLAGS_XC) -MM $< $(DEFINES) $(INCLUDEPATH) -MT $(OBJ_PWD)/$(notdir $@) > $(OBJ_PWD)/$*.d
57+
58+
$(OBJ_PWD)/%.o : %.s $(firstword $(MAKEFILE_LIST)) $(filter %.mk, $(MAKEFILE_LIST))
59+
@test -d $(OBJ_PWD) || mkdir -p $(OBJ_PWD)
60+
@printf "$(COMPCOLOR)µCC %-35s => %s\n$(NORM)" $(notdir $<) $(OBJ_PWD)/$(notdir $@)
61+
$(VERB)$(CC) $(CCFLAGS) $(CCFLAGS_XC) -c $< $(DEFINES) $(INCLUDEPATH) -o $(OBJ_PWD)/$(notdir $@)
62+
@$(CC) $(CCFLAGS) $(CCFLAGS_XC) -MM $< $(DEFINES) $(INCLUDEPATH) -MT $(OBJ_PWD)/$(notdir $@) > $(OBJ_PWD)/$*.d
63+
64+
$(OBJ_PWD)/%.o : %.cpp $(firstword $(MAKEFILE_LIST)) $(filter %.mk, $(MAKEFILE_LIST))
65+
@test -d $(OBJ_PWD) || mkdir -p $(OBJ_PWD)
66+
@printf "$(COMPCOLOR)µC++ %-34s => %s\n$(NORM)" $(notdir $<) $(OBJ_PWD)/$(notdir $@)
67+
$(VERB)$(CXX) $(CCFLAGS) $(CXXFLAGS) $(CCFLAGS_XC) $(CXXFLAGS_XC) -x c++ -c $< $(DEFINES) $(INCLUDEPATH) -o $(OBJ_PWD)/$(notdir $@)
68+
@$(CXX) $(CCFLAGS) $(CXXFLAGS) $(CCFLAGS_XC) $(CXXFLAGS_XC) -MM $< $(DEFINES) $(INCLUDEPATH) -MT $(OBJ_PWD)/$(notdir $@) > $(OBJ_PWD)/$*.d
6969

7070
HEAP?=100
7171

@@ -81,22 +81,22 @@ ifeq ($(filter %.cpp,$(SRC)),)
8181
# Pure C project, link with gcc interface
8282
$(OUT_PWD)/$(PROJECT).elf : $(OBJECTS)
8383
@printf "$(COMPCOLOR)µLD %-35s => %s\n$(NORM)" "*.o" $(OUT_PWD)/$(PROJECT).elf
84-
$(VERB)$(CC) $(CCFLAGS) $(CCFLAGS_XC) -o $(OUT_PWD)/$(PROJECT).elf $(addprefix $(OUT_PWD)/,$(notdir $(OBJECTS))) $(LIBS) $(LDFLAGS) $(LDFLAGS_XC) -Wl,-Map="$(OUT_PWD)/$(PROJECT).map" 2> $(OUT_PWD)/linker.log || (cat $(OUT_PWD)/linker.log >&2; rm $(OUT_PWD)/linker.log; false)
84+
$(VERB)$(CC) $(CCFLAGS) $(CCFLAGS_XC) -o $(OUT_PWD)/$(PROJECT).elf $(addprefix $(OBJ_PWD)/,$(notdir $(OBJECTS))) $(LIBS) $(LDFLAGS) $(LDFLAGS_XC) -Wl,-Map="$(OUT_PWD)/$(PROJECT).map" 2> $(OUT_PWD)/linker.log || (cat $(OUT_PWD)/linker.log >&2; rm $(OUT_PWD)/linker.log; false)
8585
@rm $(OUT_PWD)/linker.log
8686

8787
# prints memory report
8888
showmem : $(OUT_PWD)/$(PROJECT).elf
89-
$(VERB)$(CC) $(CCFLAGS) $(CCFLAGS_XC) -o $(OUT_PWD)/$(PROJECT).elf $(addprefix $(OUT_PWD)/,$(notdir $(OBJECTS))) $(LIBS) $(LDFLAGS) $(LDFLAGS_XC) -Wl,-Map="$(OUT_PWD)/$(PROJECT).map",--report-mem
89+
$(VERB)$(CC) $(CCFLAGS) $(CCFLAGS_XC) -o $(OUT_PWD)/$(PROJECT).elf $(addprefix $(OBJ_PWD)/,$(notdir $(OBJECTS))) $(LIBS) $(LDFLAGS) $(LDFLAGS_XC) -Wl,-Map="$(OUT_PWD)/$(PROJECT).map",--report-mem
9090
else
9191
# Mixed C / C++ project, link with g++ interface
9292
$(OUT_PWD)/$(PROJECT).elf : $(OBJECTS)
9393
@printf "$(COMPCOLOR)µLD++ %-33s => %s\n$(NORM)" "*.o" $(OUT_PWD)/$(PROJECT).elf
94-
$(VERB)$(CXX) $(CCFLAGS) $(CCFLAGS_XC) $(CXXFLAGS) $(CXXFLAGS_XC) -o $(OUT_PWD)/$(PROJECT).elf $(addprefix $(OUT_PWD)/,$(notdir $(OBJECTS))) $(LIBS) $(LDFLAGS) $(LDFLAGS_XC) -Wl,-Map="$(OUT_PWD)/$(PROJECT).map" 2> $(OUT_PWD)/linker.log || (cat $(OUT_PWD)/linker.log >&2; rm $(OUT_PWD)/linker.log; false)
94+
$(VERB)$(CXX) $(CCFLAGS) $(CCFLAGS_XC) $(CXXFLAGS) $(CXXFLAGS_XC) -o $(OUT_PWD)/$(PROJECT).elf $(addprefix $(OBJ_PWD)/,$(notdir $(OBJECTS))) $(LIBS) $(LDFLAGS) $(LDFLAGS_XC) -Wl,-Map="$(OUT_PWD)/$(PROJECT).map" 2> $(OUT_PWD)/linker.log || (cat $(OUT_PWD)/linker.log >&2; rm $(OUT_PWD)/linker.log; false)
9595
@rm $(OUT_PWD)/linker.log
9696

9797
# prints memory report
9898
showmem : $(OUT_PWD)/$(PROJECT).elf
99-
$(VERB)$(CXX) $(CCFLAGS) $(CCFLAGS_XC) $(CXXFLAGS) $(CXXFLAGS_XC) -o $(OUT_PWD)/$(PROJECT).elf $(addprefix $(OUT_PWD)/,$(notdir $(OBJECTS))) $(LIBS) $(LDFLAGS) $(LDFLAGS_XC) -Wl,-Map="$(OUT_PWD)/$(PROJECT).map",--report-mem
99+
$(VERB)$(CXX) $(CCFLAGS) $(CCFLAGS_XC) $(CXXFLAGS) $(CXXFLAGS_XC) -o $(OUT_PWD)/$(PROJECT).elf $(addprefix $(OBJ_PWD)/,$(notdir $(OBJECTS))) $(LIBS) $(LDFLAGS) $(LDFLAGS_XC) -Wl,-Map="$(OUT_PWD)/$(PROJECT).map",--report-mem
100100
endif
101101

102102
$(OUT_PWD)/$(PROJECT).s : $(OUT_PWD)/$(PROJECT).elf

udevkit.mk

+8-13
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ CONFIG_HEADERS = $(OUT_PWD)/modules.h
66
# variable that contain the root directory of uDevkit-SDK
77
UDEVKIT := $(dir $(lastword $(MAKEFILE_LIST)))
88

9-
# if OUT_PWD undefined, OUT_PWD is forced to build/ sub directory
10-
ifndef OUT_PWD
11-
OUT_PWD = build
12-
endif
9+
# set OUT_PWD and OBJ_PWD default values
10+
OUT_PWD ?= build
1311
OUT_PWD := $(strip $(OUT_PWD))
12+
OBJ_PWD ?= $(OUT_PWD)/objs
13+
OBJ_PWD := $(strip $(OBJ_PWD))
1414

1515
BLUE := $(shell command -v tput > /dev/null && tput setaf 4)
1616
YELLOW := $(shell command -v tput > /dev/null && tput setaf 3)
@@ -30,12 +30,6 @@ else
3030
VERB := @
3131
endif
3232

33-
# make all as default rule
34-
all:
35-
36-
# uncomment this line when all C includes will be in uDevkit-SDK
37-
# CCFLAGS += -nostdinc
38-
3933
# include all support needed
4034
include $(UDEVKIT)/support/support.mk
4135

@@ -45,8 +39,9 @@ INCLUDEPATH += -I. -I$(UDEVKIT)/include -I$(OUT_PWD)
4539
# cleaning rule project
4640
.PHONY: clean
4741
clean:
48-
$(VERB)rm -f $(OUT_PWD)/*.o $(OUT_PWD)/*.d $(OUT_PWD)/*.c $(OUT_PWD)/*.h $(OUT_PWD)/*.s $(OUT_PWD)/*.lst $(OUT_PWD)/*.map
49-
$(VERB)rm -f $(OUT_PWD)/$(PROJECT).elf $(OUT_PWD)/$(PROJECT).hex
42+
$(VERB)rm -f $(OBJ_PWD)/*.o $(OBJ_PWD)/*.d $(OBJ_PWD)/*.lst
43+
$(VERB)rm -f $(OUT_PWD)/*.c $(OUT_PWD)/*.h $(OUT_PWD)/*.s
44+
$(VERB)rm -f $(OUT_PWD)/*.map $(OUT_PWD)/$(PROJECT).elf $(OUT_PWD)/$(PROJECT).hex
5045
$(VERB)rm -f $(CONFIG_HEADERS)
5146

5247
.PHONY: distrib
@@ -82,7 +77,7 @@ info:
8277
@printf "\n"
8378
@printf "$(GREEN)SIM_SRC: $(NORM)%s\n" "$(SIM_SRC)"
8479
@printf "$(GREEN)SIM_HEADER: $(NORM)%s\n" "$(SIM_HEADER)"
85-
80+
8681
.PHONY: rebuild
8782
rebuild: clean hex
8883

0 commit comments

Comments
 (0)