CC=sh-elf-gcc AS=sh-elf-gcc AR=sh-elf-gcc-ar RANLIB=sh-elf-gcc-ranlib CFLAGS=-c -ffunction-sections -fdata-sections -Os -Lr -I./include \ -lm -m4-nofpu -mb -ffreestanding -nostdlib -Wa,--dsp -flto -std=c99 -Wall -Wextra ARFLAGS=rs VPATH=syscalls SHSOURCES=$(wildcard src/*.S) $(wildcard src/*.S) CSOURCES=$(wildcard src/*.c) OBJECTS=$(SHSOURCES:.S=.o) $(CSOURCES:.c=.o) $(CXXSOURCES:.cpp=.o) LIBRARY=./libserial.a all: $(SOURCES) $(LIBRARY) $(LIBRARY): $(OBJECTS) $(AR) $(ARFLAGS) $@ $(OBJECTS) .S.o: $(CC) $(CFLAGS) -x assembler-with-cpp $(abspath $<) -o $@ .c.o: $(CC) $(CFLAGS) $< -o $@ .cpp.o: $(CC) $(CFLAGS) $< -o $@ clean: rm -f $(OBJECTS) $(LIBRARY)