aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorTimos Ampelikiotis <t.ampelikiotis@virtualopensystems.com>2024-10-01 18:16:29 +0300
committerTimos Ampelikiotis <t.ampelikiotis@virtualopensystems.com>2024-10-01 15:36:35 +0000
commit9941dec970111be9e02dcaf6819c037946bde160 (patch)
treebea826b7fc861fe09c53d43f60d1a7d464e4cf9b /Makefile
parent1cc834724919caf5ea21c146b29f62b6cd213db7 (diff)
Add multiple-device support virtio-loopback-adapter
Updates [v1]: - The adapter supports multiple vhost-user devices running in parallel. - Redesign the devices interfaces. Unified their common functionality and add it into vhost-user-loopback lib. This eases the addition of new vhost-user devices and makes the virtio-loopback adapter more device agnostic. Bug-AGL: SPEC-4834 Change-Id: I9aff91dce0207ccdd8c2d1c5d0769a13b4e9ae04 Signed-off-by: Timos Ampelikiotis <t.ampelikiotis@virtualopensystems.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile26
1 files changed, 21 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 33af630..846fa6f 100644
--- a/Makefile
+++ b/Makefile
@@ -18,8 +18,7 @@
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#CFLAGS := -Wno-unused-variable -Wno-unused-function -D_GNU_SOURCE
-CFLAGS = -D_GNU_SOURCE -O2 -Wall -Wextra -Werror
+CFLAGS := -D_GNU_SOURCE -O2 -Wall -Wextra -Werror -Wno-unused-variable -Wno-unused-function
CC ?=
@@ -27,14 +26,29 @@ ifeq ($(ARCH), arm64)
# arm64
CC ?= aarch64-linux-gnu-gcc
else
- CC ?= gcc
+ ifeq ($(ARCH), riscv64)
+ # arm64
+ CC ?= riscv64-linux-gnu-gcc
+ else
+ CC ?= gcc
+ endif
endif
INCL += -I .
+INCL += -I ./include/
+
DEPS = adapter.h vhost_user_loopback.h event_notifier.h virtio_loopback.h
-SRC_C = event_notifier.c vhost_user_loopback.c virtio_loopback.c virtio_rng.c virtio_input.c vhost_user_input.c vhost_user_blk.c vhost_user_rng.c vhost_user_sound.c vhost_user_gpio.c vhost_user_can.c vhost_user_console.c vhost_loopback.c adapter.c
+# Source directories
+SRC_DIRS = src/adapter src/lib src/common src/lib src/devices
+
+# Source files
+SRC_C = $(foreach dir, $(SRC_DIRS), $(wildcard $(dir)/*.c))
+
+# Object files
OBJS = $(SRC_C:.c=.o)
+
+# Binary output
BINS = adapter
ifeq ($(DEBUG), 1)
@@ -43,15 +57,17 @@ endif
all: $(BINS)
+# Linking
$(BINS): $(OBJS)
@echo -e "CC\t$@"
$(CC) $(CFLAGS) $(INCL) $^ -o $@ -lpthread
+# Compilation
%.o: %.c
@echo -e "CC\t$@"
$(CC) $(CFLAGS) $(INCL) -c $< -o $@
clean:
- rm -f *.o *~ $(BINS)
+ rm -f $(OBJS) *~ $(BINS)
.PHONY: all