libSerial/Makefile

45 lines
964 B
Makefile

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