blob: 9ea4adc512349864744a8acf74411a94a9688d4c [file] [log] [blame]
# SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
.DEFAULT_GOAL := all
GET_ARCH := ../../external/common/get_arch.sh
include ../../external/common/rules.mk
include rules.mk
PREFIX ?= /usr/local/
LIBDIR := $(PREFIX)/lib
INCDIR := $(PREFIX)/include/libflash
ifneq ($(ARCH), ARCH_ARM)
CFLAGS += -m64
endif
CFLAGS += -Werror -Wall -g2 -ggdb -I. -fPIC
LIBFLASH_OBJS := libflash-file.o libflash-libflash.o libflash-libffs.o \
libflash-ecc.o libflash-blocklevel.o
ARCHFLASH_OBJS := common-arch_flash.o
OBJS := $(LIBFLASH_OBJS) $(ARCHFLASH_OBJS)
LIBFLASH_H := libflash/file.h libflash/libflash.h libflash/libffs.h \
libflash/ffs.h libflash/ecc.h libflash/blocklevel.h libflash/errors.h
ARCHFLASH_H := common/arch_flash.h
LIBFLASH_FILES := libflash.c libffs.c ecc.c blocklevel.c file.c
LIBFLASH_SRC := $(addprefix libflash/,$(LIBFLASH_FILES))
$(LIBFLASH_SRC): | links
$(LIBFLASH_OBJS) : libflash-%.o : libflash/%.c
$(CC) $(CFLAGS) $(CPPFLAGS) -c $< -o $@
clean:
rm -f $(OBJS) common-*.o *.so*
distclean: clean
rm -f ccan libflash common
all: links arch_links $(OBJS)
$(CC) -shared -Wl,-soname,libflash.so -o $(SHARED_NAME) $(OBJS)
install-lib: all
install -D -m 0755 $(SHARED_NAME) $(DESTDIR)$(LIBDIR)/$(SHARED_NAME)
ln -sf $(SHARED_NAME) $(DESTDIR)$(LIBDIR)/libflash.so
install-dev: links arch_links
mkdir -p $(DESTDIR)$(INCDIR)
install -m 0644 $(LIBFLASH_H) $(ARCHFLASH_H) $(DESTDIR)$(INCDIR)
install: install-lib install-dev
uninstall:
rm -f $(DESTDIR)$(LIBDIR)/libflash*
rm -rf $(DESTDIR)$(INCDIR)