include ../Config.mk

LDFLAGS += -L ../libhal
LDLIBS += -lhal -llib

LIBHAL = libhal.a
LIBOBJS = hal-peer.o hal-cmd.o hal-cmd-parser.o hal-srv.o hal-mgr.o hal-runtime.o
HAL_CMD_TEST_WRITE = hal-cmd-test-write
HAL_CMD_TEST_READ = hal-cmd-test-read
HAL_MGR_TEST = hal-mgr-test

TARGETS = $(LIBHAL) $(HAL_CMD_TEST_READ) $(HAL_CMD_TEST_WRITE) $(HAL_MGR_TEST)

.PHONY: all clean

all: $(TARGETS)

%.o: %.c
	$(CC) $(CFLAGS) -c $< -o $@

$(LIBHAL): $(LIBOBJS)
	$(AR) -r $@ $^

$(HAL_CMD_TEST_WRITE): $(HAL_CMD_TEST_WRITE).o $(LIBHAL)
	$(CC) $< $(CFLAGS) $(LDFLAGS) -o $@ $(LDLIBS)

$(HAL_CMD_TEST_READ): $(HAL_CMD_TEST_READ).o $(LIBHAL)
	$(CC) $< $(CFLAGS) $(LDFLAGS) -o $@ $(LDLIBS)

$(HAL_MGR_TEST): $(HAL_MGR_TEST).o $(LIBHAL)
	$(CC) $< $(CFLAGS) $(LDFLAGS) -o $@ $(LDLIBS)

clean:
	rm -rf *.o *.c~ *.h~ $(TARGETS)

