Skip to content

Commit 449f50d

Browse files
committed
linking works
1 parent e84bdbc commit 449f50d

9 files changed

Lines changed: 76 additions & 50 deletions

File tree

sduino/hardware/sduino/stm8/libraries

Lines changed: 0 additions & 1 deletion
This file was deleted.

sduino/libraries/I2C/I2C.c renamed to sduino/hardware/sduino/stm8/libraries/I2C/I2C.c

File renamed without changes.

sduino/libraries/I2C/I2C.h renamed to sduino/hardware/sduino/stm8/libraries/I2C/I2C.h

File renamed without changes.

sduino/libraries/I2C/examples/HMC5883L/HMC5883L.pde renamed to sduino/hardware/sduino/stm8/libraries/I2C/examples/HMC5883L/HMC5883L.pde

File renamed without changes.

sduino/libraries/I2C/keywords.txt renamed to sduino/hardware/sduino/stm8/libraries/I2C/keywords.txt

File renamed without changes.

sduino/libraries/ssd1306/ssd1306.c renamed to sduino/hardware/sduino/stm8/libraries/ssd1306/ssd1306.c

File renamed without changes.

sduino/libraries/ssd1306/ssd1306.h renamed to sduino/hardware/sduino/stm8/libraries/ssd1306/ssd1306.h

File renamed without changes.

test/libmake/Arduino.mk

Lines changed: 63 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,19 @@ else
322322
endif
323323
endif
324324

325+
########################################################################
326+
# object file name suffix - defaults to .o
327+
ifndef OBJSUFFIX
328+
ifeq ($(notdir $(CC)),sdcc)
329+
OBJSUFFIX = rel
330+
else
331+
OBJSUFFIX = o
332+
endif
333+
$(call show_config_variable,OBJSUFFIX,[DEFAULT])
334+
else
335+
$(call show_config_variable,OBJSUFFIX,[USER])
336+
endif
337+
325338
########################################################################
326339
# 1.5.x vendor - defaults to arduino
327340
ifndef ARDMK_VENDOR
@@ -771,9 +784,9 @@ LOCAL_AS_SRCS ?= $(wildcard *.S)
771784
LOCAL_SRCS = $(LOCAL_C_SRCS) $(LOCAL_CPP_SRCS) \
772785
$(LOCAL_CC_SRCS) $(LOCAL_PDE_SRCS) \
773786
$(LOCAL_INO_SRCS) $(LOCAL_AS_SRCS)
774-
LOCAL_OBJ_FILES = $(LOCAL_C_SRCS:.c=.c.o) $(LOCAL_CPP_SRCS:.cpp=.cpp.o) \
775-
$(LOCAL_CC_SRCS:.cc=.cc.o) $(LOCAL_PDE_SRCS:.pde=.pde.o) \
776-
$(LOCAL_INO_SRCS:.ino=.ino.o) $(LOCAL_AS_SRCS:.S=.S.o)
787+
LOCAL_OBJ_FILES = $(LOCAL_C_SRCS:.c=.c.$(OBJSUFFIX)) $(LOCAL_CPP_SRCS:.cpp=.cpp.$(OBJSUFFIX)) \
788+
$(LOCAL_CC_SRCS:.cc=.cc.$(OBJSUFFIX)) $(LOCAL_PDE_SRCS:.pde=.pde.$(OBJSUFFIX)) \
789+
$(LOCAL_INO_SRCS:.ino=.ino.$(OBJSUFFIX)) $(LOCAL_AS_SRCS:.S=.S.$(OBJSUFFIX))
777790
LOCAL_OBJS = $(patsubst %,$(OBJDIR)/%,$(LOCAL_OBJ_FILES))
778791

779792
ifeq ($(words $(LOCAL_SRCS)), 0)
@@ -812,7 +825,7 @@ ifeq ($(strip $(NO_CORE)),)
812825
$(call show_config_info,NO_CORE_MAIN_CPP set so core library will not include main.cpp,[MANUAL])
813826
endif
814827

815-
CORE_OBJ_FILES = $(CORE_C_SRCS:.c=.c.o) $(CORE_CPP_SRCS:.cpp=.cpp.o) $(CORE_AS_SRCS:.S=.S.o)
828+
CORE_OBJ_FILES = $(CORE_C_SRCS:.c=.c.$(OBJSUFFIX)) $(CORE_CPP_SRCS:.cpp=.cpp.$(OBJSUFFIX)) $(CORE_AS_SRCS:.S=.S.$(OBJSUFFIX))
816829
CORE_OBJS = $(patsubst $(ARDUINO_CORE_PATH)/%, \
817830
$(OBJDIR)/core/%,$(CORE_OBJ_FILES))
818831
endif
@@ -886,7 +899,7 @@ TARGET_IHX = $(OBJDIR)/$(TARGET).ihx
886899
TARGET_HEX = $(OBJDIR)/$(TARGET).hex
887900
TARGET_ELF = $(OBJDIR)/$(TARGET).elf
888901
TARGET_EEP = $(OBJDIR)/$(TARGET).eep
889-
CORE_LIB = $(OBJDIR)/libcore.a
902+
CORE_LIB = $(OBJDIR)/libcore.lib
890903

891904
# Names of executables - chipKIT needs to override all to set paths to PIC32
892905
# tools, and we can't use "?=" assignment because these are already implicitly
@@ -964,26 +977,26 @@ LIB_AS_SRCS := $(foreach lib, $(SYS_LIBS), $(call get_library_files,$(l
964977
USER_LIB_CPP_SRCS := $(foreach lib, $(USER_LIBS), $(call get_library_files,$(lib),cpp))
965978
USER_LIB_C_SRCS := $(foreach lib, $(USER_LIBS), $(call get_library_files,$(lib),c))
966979
USER_LIB_AS_SRCS := $(foreach lib, $(USER_LIBS), $(call get_library_files,$(lib),S))
967-
LIB_OBJS = $(patsubst $(ARDUINO_LIB_PATH)/%.c,$(OBJDIR)/libs/%.c.o,$(LIB_C_SRCS)) \
968-
$(patsubst $(ARDUINO_LIB_PATH)/%.cpp,$(OBJDIR)/libs/%.cpp.o,$(LIB_CPP_SRCS)) \
969-
$(patsubst $(ARDUINO_LIB_PATH)/%.S,$(OBJDIR)/libs/%.S.o,$(LIB_AS_SRCS))
970-
USER_LIB_OBJS = $(patsubst $(USER_LIB_PATH)/%.cpp,$(OBJDIR)/userlibs/%.cpp.o,$(USER_LIB_CPP_SRCS)) \
971-
$(patsubst $(USER_LIB_PATH)/%.c,$(OBJDIR)/userlibs/%.c.o,$(USER_LIB_C_SRCS)) \
972-
$(patsubst $(USER_LIB_PATH)/%.S,$(OBJDIR)/userlibs/%.S.o,$(USER_LIB_AS_SRCS))
980+
LIB_OBJS = $(patsubst $(ARDUINO_LIB_PATH)/%.c,$(OBJDIR)/libs/%.c.$(OBJSUFFIX),$(LIB_C_SRCS)) \
981+
$(patsubst $(ARDUINO_LIB_PATH)/%.cpp,$(OBJDIR)/libs/%.cpp.$(OBJSUFFIX),$(LIB_CPP_SRCS)) \
982+
$(patsubst $(ARDUINO_LIB_PATH)/%.S,$(OBJDIR)/libs/%.S.$(OBJSUFFIX),$(LIB_AS_SRCS))
983+
USER_LIB_OBJS = $(patsubst $(USER_LIB_PATH)/%.cpp,$(OBJDIR)/userlibs/%.cpp.$(OBJSUFFIX),$(USER_LIB_CPP_SRCS)) \
984+
$(patsubst $(USER_LIB_PATH)/%.c,$(OBJDIR)/userlibs/%.c.$(OBJSUFFIX),$(USER_LIB_C_SRCS)) \
985+
$(patsubst $(USER_LIB_PATH)/%.S,$(OBJDIR)/userlibs/%.S.$(OBJSUFFIX),$(USER_LIB_AS_SRCS))
973986

974987
ifdef ARDUINO_PLATFORM_LIB_PATH
975988
PLATFORM_INCLUDES := $(foreach lib, $(PLATFORM_LIBS), $(call get_library_includes,$(lib)))
976989
PLATFORM_LIB_CPP_SRCS := $(foreach lib, $(PLATFORM_LIBS), $(call get_library_files,$(lib),cpp))
977990
PLATFORM_LIB_C_SRCS := $(foreach lib, $(PLATFORM_LIBS), $(call get_library_files,$(lib),c))
978991
PLATFORM_LIB_AS_SRCS := $(foreach lib, $(PLATFORM_LIBS), $(call get_library_files,$(lib),S))
979-
PLATFORM_LIB_OBJS := $(patsubst $(ARDUINO_PLATFORM_LIB_PATH)/%.cpp,$(OBJDIR)/platformlibs/%.cpp.o,$(PLATFORM_LIB_CPP_SRCS)) \
980-
$(patsubst $(ARDUINO_PLATFORM_LIB_PATH)/%.c,$(OBJDIR)/platformlibs/%.c.o,$(PLATFORM_LIB_C_SRCS)) \
981-
$(patsubst $(ARDUINO_PLATFORM_LIB_PATH)/%.S,$(OBJDIR)/platformlibs/%.S.o,$(PLATFORM_LIB_AS_SRCS))
992+
PLATFORM_LIB_OBJS := $(patsubst $(ARDUINO_PLATFORM_LIB_PATH)/%.cpp,$(OBJDIR)/platformlibs/%.cpp.$(OBJSUFFIX),$(PLATFORM_LIB_CPP_SRCS)) \
993+
$(patsubst $(ARDUINO_PLATFORM_LIB_PATH)/%.c,$(OBJDIR)/platformlibs/%.c.$(OBJSUFFIX),$(PLATFORM_LIB_C_SRCS)) \
994+
$(patsubst $(ARDUINO_PLATFORM_LIB_PATH)/%.S,$(OBJDIR)/platformlibs/%.S.$(OBJSUFFIX),$(PLATFORM_LIB_AS_SRCS))
982995

983996
endif
984997

985998
# Dependency files
986-
DEPS = $(LOCAL_OBJS:.o=.d) $(LIB_OBJS:.o=.d) $(PLATFORM_OBJS:.o=.d) $(USER_LIB_OBJS:.o=.d) $(CORE_OBJS:.o=.d)
999+
DEPS = $(LOCAL_OBJS:.$(OBJSUFFIX)=.d) $(LIB_OBJS:.$(OBJSUFFIX)=.d) $(PLATFORM_OBJS:.$(OBJSUFFIX)=.d) $(USER_LIB_OBJS:.$(OBJSUFFIX)=.d) $(CORE_OBJS:.$(OBJSUFFIX)=.d)
9871000

9881001
# Optimization level for the compiler.
9891002
# You can get the list of options at http://www.nongnu.org/avr-libc/user-manual/using_tools.html#gcc_optO
@@ -1000,7 +1013,7 @@ ifndef DEBUG_FLAGS
10001013
endif
10011014

10021015
# SoftwareSerial requires -Os (some delays are tuned for this optimization level)
1003-
%SoftwareSerial.cpp.o : OPTIMIZATION_FLAGS = -Os
1016+
%SoftwareSerial.cpp.$(OBJSUFFIX) : OPTIMIZATION_FLAGS = -Os
10041017

10051018
ifndef MCU_FLAG_NAME
10061019
MCU_FLAG_NAME = mmcu=
@@ -1070,7 +1083,8 @@ ASFLAGS += -x assembler-with-cpp
10701083
ifeq ($(shell expr $(CC_VERNUM) '>' 490), 1)
10711084
ASFLAGS += -flto
10721085
endif
1073-
LDFLAGS += -$(MCU_FLAG_NAME)=$(MCU) -Wl,--gc-sections -O$(OPTIMIZATION_LEVEL)
1086+
#LDFLAGS += -$(MCU_FLAG_NAME)=$(MCU) -Wl,--gc-sections -O$(OPTIMIZATION_LEVEL)
1087+
LDFLAGS += -$(MCU_FLAG_NAME)$(MCU) -O$(OPTIMIZATION_LEVEL)
10741088
ifeq ($(shell expr $(CC_VERNUM) '>' 490), 1)
10751089
LDFLAGS += -flto -fuse-linker-plugin
10761090
endif
@@ -1182,45 +1196,45 @@ $(call show_separator)
11821196
# easy to change the build options in future
11831197

11841198
# library sources
1185-
$(OBJDIR)/libs/%.c.o: $(ARDUINO_LIB_PATH)/%.c
1199+
$(OBJDIR)/libs/%.c.$(OBJSUFFIX): $(ARDUINO_LIB_PATH)/%.c
11861200
@$(MKDIR) $(dir $@)
11871201
$(CC) "-Wp-MMD $(patsubst %.o,%.d,$@)" -c $(CPPFLAGS) $(CFLAGS) $< -o $@
1188-
mv $(patsubst %.o,%.rel,$@) $@
1202+
# mv $(patsubst %.o,%.rel,$@) $@
11891203
# $(CC) -MMD -c $(CPPFLAGS) $(CFLAGS) $< -o $@
11901204

1191-
$(OBJDIR)/libs/%.cpp.o: $(ARDUINO_LIB_PATH)/%.cpp
1205+
$(OBJDIR)/libs/%.cpp.$(OBJSUFFIX): $(ARDUINO_LIB_PATH)/%.cpp
11921206
@$(MKDIR) $(dir $@)
11931207
$(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
11941208

1195-
$(OBJDIR)/libs/%.S.o: $(ARDUINO_LIB_PATH)/%.S
1209+
$(OBJDIR)/libs/%.S.$(OBJSUFFIX): $(ARDUINO_LIB_PATH)/%.S
11961210
@$(MKDIR) $(dir $@)
11971211
$(CC) -MMD -c $(CPPFLAGS) $(ASFLAGS) $< -o $@
11981212

1199-
$(OBJDIR)/platformlibs/%.c.o: $(ARDUINO_PLATFORM_LIB_PATH)/%.c
1213+
$(OBJDIR)/platformlibs/%.c.$(OBJSUFFIX): $(ARDUINO_PLATFORM_LIB_PATH)/%.c
12001214
@$(MKDIR) $(dir $@)
12011215
$(CC) "-Wp-MMD $(patsubst %.o,%.d,$@)" -c $(CPPFLAGS) $(CFLAGS) $< -o $@
1202-
mv $(patsubst %.o,%.rel,$@) $@
1216+
# mv $(patsubst %.o,%.rel,$@) $@
12031217
# $(CC) -MMD -c $(CPPFLAGS) $(CFLAGS) $< -o $@
12041218

1205-
$(OBJDIR)/platformlibs/%.cpp.o: $(ARDUINO_PLATFORM_LIB_PATH)/%.cpp
1219+
$(OBJDIR)/platformlibs/%.cpp.$(OBJSUFFIX): $(ARDUINO_PLATFORM_LIB_PATH)/%.cpp
12061220
@$(MKDIR) $(dir $@)
12071221
$(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
12081222

1209-
$(OBJDIR)/platformlibs/%.S.o: $(ARDUINO_PLATFORM_LIB_PATH)/%.S
1223+
$(OBJDIR)/platformlibs/%.S.$(OBJSUFFIX): $(ARDUINO_PLATFORM_LIB_PATH)/%.S
12101224
@$(MKDIR) $(dir $@)
12111225
$(CC) -MMD -c $(CPPFLAGS) $(ASFLAGS) $< -o $@
12121226

1213-
$(OBJDIR)/userlibs/%.cpp.o: $(USER_LIB_PATH)/%.cpp
1227+
$(OBJDIR)/userlibs/%.cpp.$(OBJSUFFIX): $(USER_LIB_PATH)/%.cpp
12141228
@$(MKDIR) $(dir $@)
12151229
$(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
12161230

1217-
$(OBJDIR)/userlibs/%.c.o: $(USER_LIB_PATH)/%.c
1231+
$(OBJDIR)/userlibs/%.c.$(OBJSUFFIX): $(USER_LIB_PATH)/%.c
12181232
@$(MKDIR) $(dir $@)
1219-
$(CC) "-Wp-MMD $(patsubst %.o,%.d,$@)" -c $(CPPFLAGS) $(CFLAGS) $< -o $@
1220-
mv $(patsubst %.o,%.rel,$@) $@
1233+
$(CC) "-Wp-MMD $(patsubst %.$(OBJSUFFIX),%.d,$@)" -c $(CPPFLAGS) $(CFLAGS) $< -o $@
1234+
# mv $(patsubst %.o,%.rel,$@) $@
12211235
# $(CC) -MMD -c $(CPPFLAGS) $(CFLAGS) $< -o $@
12221236

1223-
$(OBJDIR)/userlibs/%.S.o: $(USER_LIB_PATH)/%.S
1237+
$(OBJDIR)/userlibs/%.S.$(OBJSUFFIX): $(USER_LIB_PATH)/%.S
12241238
@$(MKDIR) $(dir $@)
12251239
$(CC) -MMD -c $(CPPFLAGS) $(ASFLAGS) $< -o $@
12261240

@@ -1231,35 +1245,35 @@ else
12311245
endif
12321246

12331247
# normal local sources
1234-
$(OBJDIR)/%.c.o: %.c $(COMMON_DEPS) | $(OBJDIR)
1248+
$(OBJDIR)/%.c.$(OBJSUFFIX): %.c $(COMMON_DEPS) | $(OBJDIR)
12351249
@$(MKDIR) $(dir $@)
1236-
$(CC) "-Wp-MMD $(patsubst %.o,%.d,$@)" -c $(CPPFLAGS) $(CFLAGS) $< -o $@
1237-
mv $(patsubst %.o,%.rel,$@) $@
1250+
$(CC) "-Wp-MMD $(patsubst %.$(OBJSUFFIX),%.d,$@)" -c $(CPPFLAGS) $(CFLAGS) $< -o $@
1251+
# mv $(patsubst %.o,%.rel,$@) $@
12381252
# $(CC) -MMD -c $(CPPFLAGS) $(CFLAGS) $< -o $@
12391253

1240-
$(OBJDIR)/%.cc.o: %.cc $(COMMON_DEPS) | $(OBJDIR)
1254+
$(OBJDIR)/%.cc.$(OBJSUFFIX): %.cc $(COMMON_DEPS) | $(OBJDIR)
12411255
@$(MKDIR) $(dir $@)
12421256
$(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
12431257

1244-
$(OBJDIR)/%.cpp.o: %.cpp $(COMMON_DEPS) | $(OBJDIR)
1258+
$(OBJDIR)/%.cpp.$(OBJSUFFIX): %.cpp $(COMMON_DEPS) | $(OBJDIR)
12451259
@$(MKDIR) $(dir $@)
12461260
$(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
12471261

1248-
$(OBJDIR)/%.S.o: %.S $(COMMON_DEPS) | $(OBJDIR)
1262+
$(OBJDIR)/%.S.$(OBJSUFFIX): %.S $(COMMON_DEPS) | $(OBJDIR)
12491263
@$(MKDIR) $(dir $@)
12501264
$(CC) -MMD -c $(CPPFLAGS) $(ASFLAGS) $< -o $@
12511265

1252-
$(OBJDIR)/%.s.o: %.s $(COMMON_DEPS) | $(OBJDIR)
1266+
$(OBJDIR)/%.s.$(OBJSUFFIX): %.s $(COMMON_DEPS) | $(OBJDIR)
12531267
@$(MKDIR) $(dir $@)
12541268
$(CC) -c $(CPPFLAGS) $(ASFLAGS) $< -o $@
12551269

12561270
# the pde -> o file
1257-
$(OBJDIR)/%.pde.o: %.pde $(COMMON_DEPS) | $(OBJDIR)
1271+
$(OBJDIR)/%.pde.$(OBJSUFFIX): %.pde $(COMMON_DEPS) | $(OBJDIR)
12581272
@$(MKDIR) $(dir $@)
12591273
$(CXX) -x c++ -include $(ARDUINO_HEADER) -MMD -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
12601274

12611275
# the ino -> o file
1262-
$(OBJDIR)/%.ino.o: %.ino $(COMMON_DEPS) | $(OBJDIR)
1276+
$(OBJDIR)/%.ino.$(OBJSUFFIX): %.ino $(COMMON_DEPS) | $(OBJDIR)
12631277
@$(MKDIR) $(dir $@)
12641278
$(CXX) -x c++ -include $(ARDUINO_HEADER) -MMD -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
12651279

@@ -1277,17 +1291,17 @@ $(OBJDIR)/%.s: %.cpp $(COMMON_DEPS) | $(OBJDIR)
12771291
$(CXX) -x c++ -include $(ARDUINO_HEADER) -MMD -S -fverbose-asm $(CPPFLAGS) $(CXXFLAGS) $< -o $@
12781292

12791293
# core files
1280-
$(OBJDIR)/core/%.c.o: $(ARDUINO_CORE_PATH)/%.c $(COMMON_DEPS) | $(OBJDIR)
1294+
$(OBJDIR)/core/%.c.$(OBJSUFFIX): $(ARDUINO_CORE_PATH)/%.c $(COMMON_DEPS) | $(OBJDIR)
12811295
@$(MKDIR) $(dir $@)
1282-
$(CC) "-Wp-MMD $(patsubst %.o,%.d,$@)" -c $(CPPFLAGS) $(CFLAGS) $< -o $@
1283-
mv $(patsubst %.o,%.rel,$@) $@
1296+
$(CC) "-Wp-MMD $(patsubst %.$(OBJSUFFIX),%.d,$@)" -c $(CPPFLAGS) $(CFLAGS) $< -o $@
1297+
# mv $(patsubst %.o,%.rel,$@) $@
12841298
# $(CC) -MMD -c $(CPPFLAGS) $(CFLAGS) $< -o $@
12851299

1286-
$(OBJDIR)/core/%.cpp.o: $(ARDUINO_CORE_PATH)/%.cpp $(COMMON_DEPS) | $(OBJDIR)
1300+
$(OBJDIR)/core/%.cpp.$(OBJSUFFIX): $(ARDUINO_CORE_PATH)/%.cpp $(COMMON_DEPS) | $(OBJDIR)
12871301
@$(MKDIR) $(dir $@)
12881302
$(CXX) -MMD -c $(CPPFLAGS) $(CXXFLAGS) $< -o $@
12891303

1290-
$(OBJDIR)/core/%.S.o: $(ARDUINO_CORE_PATH)/%.S $(COMMON_DEPS) | $(OBJDIR)
1304+
$(OBJDIR)/core/%.S.$(OBJSUFFIX): $(ARDUINO_CORE_PATH)/%.S $(COMMON_DEPS) | $(OBJDIR)
12911305
@$(MKDIR) $(dir $@)
12921306
$(CC) -MMD -c $(CPPFLAGS) $(ASFLAGS) $< -o $@
12931307

@@ -1439,7 +1453,7 @@ endif
14391453
# Explicit targets start here
14401454

14411455
#all: $(TARGET_EEP) $(TARGET_HEX)
1442-
all: $(TARGET_IHX)
1456+
all: $(TARGET_HEX)
14431457

14441458
# Rule to create $(OBJDIR) automatically. All rules with recipes that
14451459
# create a file within it, but do not already depend on a file within it
@@ -1454,14 +1468,15 @@ pre-build:
14541468
$(call runscript_if_exists,$(PRE_BUILD_HOOK))
14551469

14561470
$(TARGET_IHX): $(LOCAL_OBJS) $(CORE_LIB) $(OTHER_OBJS)
1457-
$(CC) $(LDFLAGS) -o $@ $(LOCAL_OBJS) $(CORE_LIB) $(OTHER_OBJS) $(OTHER_LIBS) -lc -lm $(LINKER_SCRIPTS)
1471+
$(CC) $(LDFLAGS) $(LOCAL_OBJS) $(CORE_LIB) $(OTHER_OBJS) $(OTHER_LIBS) -lstm8s103 -lm $(LINKER_SCRIPTS) -o $@
1472+
# $(CC) $(LDFLAGS) -o $@ $(LOCAL_OBJS) $(CORE_LIB) $(OTHER_OBJS) $(OTHER_LIBS) -lc -lm $(LINKER_SCRIPTS)
14581473

14591474
$(TARGET_ELF): $(LOCAL_OBJS) $(CORE_LIB) $(OTHER_OBJS)
14601475
$(CC) $(LDFLAGS) -o $@ $(LOCAL_OBJS) $(CORE_LIB) $(OTHER_OBJS) $(OTHER_LIBS) -lc -lm $(LINKER_SCRIPTS)
14611476

14621477
$(CORE_LIB): $(CORE_OBJS) $(LIB_OBJS) $(PLATFORM_LIB_OBJS) $(USER_LIB_OBJS)
1463-
$(AR) rcs $@ $(patsubst %.o,%.rel, $(CORE_OBJS) $(LIB_OBJS) $(PLATFORM_LIB_OBJS) $(USER_LIB_OBJS))
1464-
# $(AR) rcs $@ $(CORE_OBJS) $(LIB_OBJS) $(PLATFORM_LIB_OBJS) $(USER_LIB_OBJS)
1478+
# $(AR) rcs $@ $(patsubst %.o,%.rel, $(CORE_OBJS) $(LIB_OBJS) $(PLATFORM_LIB_OBJS) $(USER_LIB_OBJS))
1479+
$(AR) rcs $@ $(CORE_OBJS) $(LIB_OBJS) $(PLATFORM_LIB_OBJS) $(USER_LIB_OBJS)
14651480

14661481
error_on_caterina:
14671482
$(ERROR_ON_CATERINA)

test/libmake/Makefile

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ ARDMK_VENDOR = sduino
44
ARCHITECTURE = stm8
55
CPPFLAGS = -DSTM8S103 -I ../../STM8S_StdPeriph_Driver/inc
66
#CFLAGS = -I ../../STM8S_StdPeriph_Driver/inc
7-
LD_FLAGS = --out-fmt-elf
7+
#LDFLAGS = --out-fmt-elf
8+
LDFLAGS = -L ../../STM8S_StdPeriph_Driver/src
89

910
MCU_FLAG_NAME = m
1011
#MMD = "-Wp-MMD abc"
@@ -14,11 +15,22 @@ SDCC_PATH=/opt/sdcc/bin
1415
CC = $(SDCC_PATH)/sdcc
1516
AS = $(SDCC_PATH)/sdasstm8
1617
AR = $(SDCC_PATH)/sdar
18+
SIZE = /usr/bin/size
1719

1820
#ALTERNATE_CORE = sduino
1921
#ARDUINO_VAR_PATH = ../../sduino
2022
#ARDUINO_CORE_PATH = ../../sduino
2123

2224

25+
all:
2326

2427
include Arduino.mk
28+
29+
TARGET_HEX = $(OBJDIR)/$(TARGET).ihx
30+
31+
all: $(TARGET_HEX)
32+
33+
upload: $(TARGET_HEX) verify_size
34+
$(MAKE) reset
35+
$(MAKE) do_upload
36+

0 commit comments

Comments
 (0)