45 lines
964 B
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
|