| # SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later |
| |
| .DEFAULT_GOAL := all |
| |
| override CFLAGS += -O2 -Wall -I. |
| LIBFLASH_FILES := libflash.c libffs.c ecc.c blocklevel.c file.c |
| LIBFLASH_OBJS := $(addprefix libflash-, $(LIBFLASH_FILES:.c=.o)) |
| LIBFLASH_SRC := $(addprefix libflash/,$(LIBFLASH_FILES)) |
| CCAN_FILES := list.c |
| CCAN_OBJS := $(addprefix ccan-list-, $(CCAN_FILES:.c=.o)) |
| CCAN_SRC := $(addprefix ccan/list/,$(CCAN_FILES)) |
| PFLASH_OBJS := pflash.o progress.o version.o common-arch_flash.o |
| OBJS := $(PFLASH_OBJS) $(LIBFLASH_OBJS) $(CCAN_OBJS) |
| EXE := pflash |
| sbindir = $(prefix)/sbin |
| datadir = $(prefix)/share |
| mandir = $(datadir)/man |
| |
| PFLASH_VERSION ?= $(shell ../../make_version.sh $(EXE)) |
| LINKAGE ?= static |
| |
| ifeq ($(LINKAGE),dynamic) |
| include ../shared/rules.mk |
| SHARED := ../shared/$(SHARED_NAME) |
| OBJS := $(PFLASH_OBJS) $(SHARED) |
| INSTALLDEPS += install-shared |
| |
| install-shared: |
| $(MAKE) -C ../shared install prefix=$(prefix) |
| |
| $(SHARED): |
| $(MAKE) -C ../shared |
| endif |
| |
| version.c: .version |
| @(if [ "a$(PFLASH_VERSION)" = "a" ]; then \ |
| echo "#error You need to set PFLASH_VERSION environment variable" > $@ ;\ |
| else \ |
| echo "const char version[] = \"$(PFLASH_VERSION)\";" ;\ |
| fi) > $@ |
| |
| %.o : %.c | links |
| $(Q_CC)$(CC) $(CFLAGS) -c $< -o $@ |
| |
| $(LIBFLASH_SRC): | links |
| |
| $(CCAN_SRC): | links |
| |
| $(LIBFLASH_OBJS): libflash-%.o : libflash/%.c | links |
| $(Q_CC)$(CC) $(CFLAGS) -c $< -o $@ |
| |
| $(CCAN_OBJS): ccan-list-%.o: ccan/list/%.c | links |
| $(Q_CC)$(CC) $(CFLAGS) -c $< -o $@ |
| |
| $(EXE): $(OBJS) |
| $(Q_CC)$(CC) $(LDFLAGS) $(CFLAGS) $^ -lrt -o $@ |
| |