summaryrefslogtreecommitdiff
path: root/sim/ucsim/stm8.src/test/sdcc.mk
diff options
context:
space:
mode:
authorXavier ASUS <xavi92psx@gmail.com>2019-10-18 00:31:54 +0200
committerXavier ASUS <xavi92psx@gmail.com>2019-10-18 00:31:54 +0200
commit268a53de823a6750d6256ee1fb1e7707b4b45740 (patch)
tree42c1799a9a82b2f7d9790ee9fe181d72a7274751 /sim/ucsim/stm8.src/test/sdcc.mk
downloadsdcc-gas-268a53de823a6750d6256ee1fb1e7707b4b45740.tar.gz
sdcc-3.9.0 fork implementing GNU assembler syntax
This fork aims to provide better support for stm8-binutils
Diffstat (limited to 'sim/ucsim/stm8.src/test/sdcc.mk')
-rw-r--r--sim/ucsim/stm8.src/test/sdcc.mk67
1 files changed, 67 insertions, 0 deletions
diff --git a/sim/ucsim/stm8.src/test/sdcc.mk b/sim/ucsim/stm8.src/test/sdcc.mk
new file mode 100644
index 0000000..2b54862
--- /dev/null
+++ b/sim/ucsim/stm8.src/test/sdcc.mk
@@ -0,0 +1,67 @@
+VPATH = ..
+
+vpath %.mk $(VPATH)
+
+TARGET = stm8
+
+CC = sdcc -m$(TARGET) --std-c99
+
+CPPFLAGS =
+CFLAGS = --debug
+LDFLAGS =
+LIBS =
+
+-include $(MAIN).mk
+
+DEVICES ?= S208
+
+ALL = $(MAIN) $(OTHERS)
+
+OBJECTS = $(MAIN).rel $(OTHERS:=.rel)
+
+CPPFLAGS = -DDEVICE=DEV_STM8$(DEVICE) -I$(VPATH)
+
+.SUFFIXES: .rel .ihx .hex
+
+.PHONY: $(DEVICES)
+
+all: $(DEVICES)
+
+$(DEVICES):
+ test -d $@ || mkdir $@
+ $(MAKE) -C $@ DEVICE=$@ REAL=yes MAIN=$(MAIN) -I$(VPATH) -f$(VPATH)/sdcc.mk compile copy_result
+
+copy_result: $(VPATH)/$(MAIN)_$(DEVICE).hex $(VPATH)/$(MAIN)_$(DEVICE).cdb
+
+$(VPATH)/$(MAIN)_$(DEVICE).hex: $(MAIN).hex
+ cp $< $@
+
+$(VPATH)/$(MAIN)_$(DEVICE).cdb: $(MAIN).cdb
+ cp $(MAIN).cdb $@
+
+compile: dep $(MAIN).hex
+
+.c.rel:
+ $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $<
+
+.ihx.hex:
+ packihx $< >$@
+
+$(MAIN).ihx: $(OBJECTS)
+ $(CC) $(CFLAGS) $(LDFLAAGS) $(OBJECTS) -o $@
+
+$(MAIN).cdb: $(MAIN).hex
+
+dep: $(MAIN).dep
+
+$(MAIN).dep: $(addprefix ../,$(OBJECTS:.rel=.c)) ../*.h
+ for c in $(addprefix ../,$(OBJECTS:.rel=.c)); do \
+ $(CC) -MM $(CPPFLAGS) $$c >>$@; \
+ done
+
+clean:
+ rm -rf $(DEVICES)
+
+ifeq ($(REAL),yes)
+include $(MAIN).dep
+endif