summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorkkitayam <[email protected]>2021-01-10 20:46:29 +0900
committerkkitayam <[email protected]>2021-01-11 15:56:16 +0900
commit8fa083d79e1325c19f2bc0af894fdf7f8ab5e84c (patch)
tree15f1fb9980fbc9c7706673e850438c77ca249214 /examples
parent05728e2b189b228a7b51f359dc207f54b85811ef (diff)
added support for cmd.exe as a shell on make.
Diffstat (limited to 'examples')
-rw-r--r--examples/make.mk5
-rw-r--r--examples/rules.mk10
2 files changed, 15 insertions, 0 deletions
diff --git a/examples/make.mk b/examples/make.mk
index 6743044fd..ee4ed640e 100644
--- a/examples/make.mk
+++ b/examples/make.mk
@@ -34,9 +34,14 @@ CXX = $(CROSS_COMPILE)g++
OBJCOPY = $(CROSS_COMPILE)objcopy
SIZE = $(CROSS_COMPILE)size
MKDIR = mkdir
+ifeq ($(UNAME),Windows)
+CP = copy
+RM = del
+else
SED = sed
CP = cp
RM = rm
+endif
#-------------- Source files and compiler flags --------------
diff --git a/examples/rules.mk b/examples/rules.mk
index 37e0e7a19..a445f0339 100644
--- a/examples/rules.mk
+++ b/examples/rules.mk
@@ -81,7 +81,11 @@ uf2: $(BUILD)/$(BOARD)-firmware.uf2
OBJ_DIRS = $(sort $(dir $(OBJ)))
$(OBJ): | $(OBJ_DIRS)
$(OBJ_DIRS):
+ifeq ($(UNAME),Windows)
+ @$(MKDIR) $(subst /,\,$@)
+else
@$(MKDIR) -p $@
+endif
$(BUILD)/$(BOARD)-firmware.elf: $(OBJ)
@echo LINK $@
@@ -107,6 +111,7 @@ vpath %.c . $(TOP)
$(BUILD)/obj/%.o: %.c
@echo CC $(notdir $@)
@$(CC) $(CFLAGS) -c -MD -o $@ $<
+ifneq ($(UNAME),Windows)
@# The following fixes the dependency file.
@# See http://make.paulandlesley.org/autodep.html for details.
@# Regex adjusted from the above to play better with Windows paths, etc.
@@ -114,6 +119,7 @@ $(BUILD)/obj/%.o: %.c
$(SED) -e 's/#.*//' -e 's/^.*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/' < $(@:.o=.d) >> $(@:.o=.P); \
$(RM) $(@:.o=.d)
+endif
# ASM sources lower case .s
vpath %.s . $(TOP)
@@ -134,7 +140,11 @@ size: $(BUILD)/$(BOARD)-firmware.elf
.PHONY: clean
clean:
+ifeq ($(UNAME),Windows)
+ rd /S /Q $(subst /,\,$(BUILD))
+else
$(RM) -rf $(BUILD)
+endif
# Print out the value of a make variable.
# https://stackoverflow.com/questions/16467718/how-to-print-out-a-variable-in-makefile