| # 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) | |
| ifneq ($(ARCH), ARCH_AARCH64) | |
| CFLAGS += -m64 | |
| endif | |
| 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) |