Skip to content
Snippets Groups Projects
Makefile 1.56 KiB
Newer Older
Wesley W. Terpstra's avatar
Wesley W. Terpstra committed
#TARGET  = i586-mingw32msvc-
#LIBS	= -lwsock32 -lws2_32
FLAGS	= -Wall -Wmissing-declarations -O0 -g -m32
#FLAGS	:= $(FLAGS) -DEB_USE_DYNAMIC    # deterministic untill table overflow (default)
#FLAGS	:= $(FLAGS) -DEB_USE_STATIC=200 # fully deterministic
#FLAGS	:= $(FLAGS) -DEB_USE_MALLOC     # non-deterministic
#FLAGS	:= $(FLAGS) -DDISABLE_SLAVE
#FLAGS	:= $(FLAGS) -DDISABLE_MASTER

CFLAGS	= $(FLAGS) -Wmissing-prototypes
CXXFLAGS= $(FLAGS)
CC	= $(TARGET)gcc
CXX	= $(TARGET)g++
GOALS	= demo/sizes demo/eb-read demo/eb-write demo/eb-snoop test/loopback
LIBRARY	= etherbone.a
OBJECTS	= $(patsubst %.cpp,%.o,$(patsubst %.c,%.o,$(SOURCES)))
SOURCES	= memory/static.c		\
	  memory/dynamic.c		\
	  memory/array.c		\
	  memory/malloc.c		\
	  glue/widths.c			\
	  glue/operation.c		\
	  glue/cycle.c			\
	  glue/device.c			\
	  glue/socket.c			\
	  glue/handler.c		\
Wesley W. Terpstra's avatar
Wesley W. Terpstra committed
	  glue/readwrite.c		\
	  glue/cplusplus.cpp		\
	  transport/posix-ip.c		\
	  transport/posix-udp.c		\
	  transport/posix-tcp.c		\
	  transport/ssh.c		\
	  transport/transports.c	\
	  transport/block.c		\
	  format/master.c
all:	$(GOALS) $(LIBRARY)
$(LIBRARY):	$(OBJECTS)
Wesley W. Terpstra's avatar
Wesley W. Terpstra committed
#	i586-mingw32msvc-g++ $(CXXFLAGS) -shared -Wl,--out-implib=libetherbone.dll.a -Wl,--output-def,etherbone.def -o $@ $^ $(LIBS)
	$(TARGET)ar rcs $@ $^
	$(TARGET)ranlib $@
demo/%:	demo/%.c $(LIBRARY)
Wesley W. Terpstra's avatar
Wesley W. Terpstra committed
	$(CC) $(CFLAGS) -o $@ $^ $(LIBS)
test/%:	test/%.cpp $(LIBRARY)
Wesley W. Terpstra's avatar
Wesley W. Terpstra committed
	$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
	rm -f $(LIBRARY) $(OBJECTS) $(GOALS)

%.o:	%.cpp
	$(CXX) $(CXXFLAGS) -o $@ -c $^