summaryrefslogtreecommitdiff
path: root/zumo/makefile
diff options
context:
space:
mode:
Diffstat (limited to 'zumo/makefile')
-rw-r--r--zumo/makefile43
1 files changed, 34 insertions, 9 deletions
diff --git a/zumo/makefile b/zumo/makefile
index c388a28..08c01d7 100644
--- a/zumo/makefile
+++ b/zumo/makefile
@@ -2,33 +2,58 @@ PORT = /dev/ttyUSB0
C++ = avr-g++
CC = avr-gcc
-LD = avr-ld
+LD = avr-gcc
RM = rm -f
MCU = atmega32u4
TARGET = main
SRCS += main.cpp
-CFLAGS += -mcall-prologues
-CFLAGS += -mmcu=$(MCU)
-CFLAGS += -Os
-CFLAGS += -g
-CFLAGS += -Wl,-gc-sections
-CFLAGS += -Wl,-relax
+C_CPP_FLAGS += -mmcu=$(MCU)
+C_CPP_FLAGS += -Wl,-gc-sections
+SHARED_FLAGS += -Os
+
+C_CPP_FLAGS += -mcall-prologues
+C_CPP_FLAGS += -g
+C_CPP_FLAGS += -Wl,-relax
+C_CPP_FLAGS += -MMD
+C_CPP_FLAGS += -ffunction-sections
+C_CPP_FLAGS += -fdata-sections
+
+LFLAGS += -flto
+LFLAGS += -fuse-linker-plugin
+LFLAGS += -lc -lm
+# LFLAGS += -L/usr/avr/lib/avr5/ -L/usr/lib/gcc/avr/12.2.0/avr5 -lgcc -lm -lc -latmega32u4
+# LFLAGS += -flto -fuse-linker-plugin -mmcu=atmega32u4 -Wl,--gc-sections -Os -lc -lm
+
+
+CFLAGS += -fno-fat-lto-objects
+# CFLAGS += -std=gnu11
+
+CPPFLAGS += -fpermissive
+CPPFLAGS += -fno-exceptions
+CPPFLAGS += -fno-threadsafe-statics
+CPPFLAGS += -fno-devirtualize
+# CPPFLAGS += -std=gnu++11
+
+
+LFLAGS += $(SHARED_FLAGS)
+CFLAGS += $(C_CPP_FLAGS) $(SHARED_FLAGS)
+CPPFLAGS += $(C_CPP_FLAGS) $(SHARED_FLAGS)
include zumo.mk
OBJS := $(patsubst %.c,%.o, $(SRCS))
OBJS := $(patsubst %.cpp,%.o, $(OBJS))
-MAKEFLAGS += -j4
+MAKEFLAGS += -j
.PHONY: all clean flash
all: $(TARGET).hex
%.o: %.cpp
- $(C++) $(CFLAGS) -o $@ -c $<
+ $(C++) $(CPPFLAGS) -o $@ -c $<
%.o: %.c
$(CC) $(CFLAGS) -o $@ -c $<