liblog/Makefile

63 lines
1004 B
Makefile
Executable File

include Makefile.cfg
#! /usr/bin/make -f
# liblog Makefile
ifeq "$(MODEL)" ""
$(error "Cannot determine choosed model")
endif
ifeq "$(MODEL)" "fx"
modelflag := -DFX9860G
endif
ifeq "$(MODEL)" "cg"
modelflag := -DFXCG50
endif
cflags := -m3 -mb -ffreestanding -nostdlib -fstrict-volatile-bitfields -Wall \
-Wextra -Os -I . $(modelflag)
target ?= sh-elf
lib := liblog-$(MODEL).a
header := liblog.h
prefix := $(shell $(target)-gcc -print-search-dirs | grep install \
| sed 's/install: //')
ifeq "$(prefix)" ""
$(error "Cannot determine compiler install path")
endif
src := $(wildcard *.c)
obj := $(src:%=build-$(MODEL)/%.o)
# Rules
all: $(lib)
$(lib): $(obj)
$(target)-ar rcs $@ $^
build-$(MODEL)/%.c.o: %.c | build-$(MODEL)/
$(target)-gcc -c $< -o $@ $(cflags)
# Misc rules
clean:
@ rm -rf build-fx
@ rm -rf build-cg
distclean: clean
@ rm -f $(lib)
%/:
mkdir -p $@
.PRECIOUS: %/
# Install
install:
cp $(lib) $(prefix)
cp $(header) $(prefix)/include