33 lines
680 B
Makefile
33 lines
680 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
|
||
|
|
||
|
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)
|
||
|
|