# either linux, dragonfly, or freebsd SYSTEM?=freebsd # either openssl or gcrypt PBKDF_BACKEND?=openssl # system compiler, normally gcc CC?=gcc # whether to enable debugging or not DEBUG?=no WARNFLAGS= -Wsystem-headers -Werror -Wall -W -Wno-unused-parameter \ -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith \ -Wold-style-definition -Wreturn-type -Wcast-qual -Wwrite-strings \ -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts \ -Winline -Wnested-externs SRCS= tcplay.c crc32.c safe_mem.c io.c hdr.c humanize.c SRCS+= crypto.c generic_xts.c OBJS= tcplay.o crc32.o safe_mem.o io.o hdr.o humanize.o OBJS+= crypto.o generic_xts.o CFLAGS+= $(WARNFLAGS) -I/usr/src/sbin/ggate/shared -I/usr/include -I/usr/local/include ifeq (${DEBUG}, yes) CFLAGS+= -O0 -g -DDEBUG else CFLAGS+= -O3 endif LIBS+= -lcrypto -lgeom -lutil -lsbuf SRCS+= crypto-dev.c /usr/src/sbin/ggate/shared/ggate.c OBJS+= crypto-dev.o SRCS+= pbkdf2-openssl.c OBJS+= pbkdf2-openssl.o program: $(CC) $(CFLAGS) -o tcplay main.c $(SRCS) $(LIBS) lib: $(CC) $(CFLAGS) -c -fPIC tcplay_api.c $(SRCS) $(CC) -shared -Wl,-version-script=tcplay.map -o libtcplay.so tcplay_api.o $(OBJS) test: echo $(SYSTEM) gcc -O0 -g -L./usr/home/monty/vchan/gtcp/bwal-tc-play/ -I. tcplay_api_test.c -ltcplay -lcrypto -ldm -lprop clean: rm -f tcplay libtcplay.so tcplay.core *.o ktrace.out