Newer
Older
FLAGS = -Wall -Wmissing-declarations -O0 -g -m32
#CFLAGS := $(CFLAGS) -DEB_USE_DYNAMIC # deterministic untill table overflow (default)
#CFLAGS := $(CFLAGS) -DEB_USE_STATIC=200 # fully deterministic
#CFLAGS := $(CFLAGS) -DEB_USE_MALLOC # non-deterministic
#CFLAGS := $(CFLAGS) -DDISABLE_SLAVE
#CFLAGS := $(CFLAGS) -DDISABLE_MASTER
CFLAGS = $(FLAGS) -Wmissing-prototypes
CXXFLAGS= $(FLAGS)
CC = gcc
TARGETS = demo/sizes demo/eb-read demo/eb-write demo/eb-snoop test/loopback
TARGET = etherbone.a
OBJECTS = $(patsubst %.cpp,%.o,$(patsubst %.c,%.o,$(SOURCES)))
SOURCES = memory/static.c \
memory/dynamic.c \
memory/array.c \
memory/malloc.c \
glue/operation.c \
glue/cycle.c \
glue/device.c \
glue/socket.c \
transport/posix-ip.c \
transport/posix-udp.c \
transport/posix-tcp.c \
transport/ssh.c \
format/slave.c \
all: $(TARGETS) $(TARGET)
$(TARGET): $(OBJECTS)
rm -f $@
ar rcs $@ $^
ranlib $@
demo/%: demo/%.c $(TARGET)
$(CC) $(CFLAGS) -o $@ $^
test/%: test/%.cpp $(TARGET)
$(CXX) $(CXXFLAGS) -o $@ $^
clean:
rm -f $(TARGET) $(OBJECTS) $(TARGETS)
%.o: %.c
$(CC) $(CFLAGS) -o $@ -c $^
%.o: %.cpp
$(CXX) $(CXXFLAGS) -o $@ -c $^