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 LIBDIR:=$(shell $(CC) -print-file-name=.) INCDIR:=$(LIBDIR)/include 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) install: @ echo "Installing library in $(LIBDIR)" @ echo "Installing include in $(INCDIR)" cp $(LIBRARY) $(LIBDIR) cp include/serial.h $(INCDIR) uninstall: rm -f $(LIBDIR)/$(LIBRARY) rm -f $(INCDIR)/serial.h