# MU90 MPO Bridge
# All rights reserved 2026 (C) Papadopol Lucian-Ioan l.i.papadopol@gmail.com
# This software is free to use but not to share/modify and/or make profit.

CC ?= cc
CFLAGS ?= -O2 -g
CFLAGS += -std=c11 -Wall -Wextra -Wpedantic -D_DEFAULT_SOURCE
PREFIX ?= /usr/local
BINDIR ?= $(PREFIX)/bin
CPPFLAGS += -Iinclude -I../common

SOURCES = \
    src/mpoctl.c \
    src/transport.c \
    src/image_transport.c \
    src/serial_transport.c \
    src/mks2.c \
    ../common/crc32.c

OBJECTS = $(SOURCES:.c=.o)

all: mpoctl

mpoctl: $(OBJECTS)
	$(CC) $(CFLAGS) $(OBJECTS) -o $@

check: mpoctl
	../tests/test_image.sh ./mpoctl

install: mpoctl
	install -d "$(DESTDIR)$(BINDIR)"
	install -m 0755 mpoctl "$(DESTDIR)$(BINDIR)/mpoctl"

clean:
	rm -f $(OBJECTS) mpoctl

.PHONY: all check install clean
