#
# Compiler Flags. Warning: -O causes problems w/ pthread
#
SHELL= /bin/sh
srcdir=.
prefix=
exec_prefix=${prefix}
BINDIR=$(exec_prefix)/bin
LIBDIR=$(exec_prefix)/lib
INCDIR=$(prefix)/include
MANDIR=$(prefix)/man
SYSCONFDIR=${prefix}/etc
CC= cc
PTHREAD_FLAGS=
PTHREAD_LDFLAGS=
PTHREAD_LIBS= -pthread
GCC_CFLAGS= -Wall -Wstrict-prototypes -fno-strict-aliasing -fno-common -Wno-trigraphs
COMMON_CFLAGS += -DCONFIG_ISCSI_DEBUG -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
CFLAGS= -fno-common ${GCC_CFLAGS} ${COMMON_CFLAGS} -I${INCLUDE} ${PTHREAD_FLAGS}
LIBS= -lresolv
INSTALL= /usr/bin/install -c -o root -g wheel
PREFIX=
INCLUDE = ../include
#
# Compilation Targets
#
TARGETS = iscsi-target # osd
INITIATORS= iscsifs
all: $(TARGETS)
all-initiator: ${INITIATORS}
#
# User-level Targets
#
COMPATOBJS= strlcpy.o snprintf.o strtoll.o uuid.o
USER_TARGET_OBJS = target.o iscsi.o util.o parameters.o netmask.o conffile.o storage.o ${COMPATOBJS}
iscsi-target: iscsi-target.c disk.c $(USER_TARGET_OBJS)
$(CC) $(CFLAGS) iscsi-target.c disk.c $(USER_TARGET_OBJS) ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS} ${LIBS} -o iscsi-target
osd: osd-target.c osd.c $(USER_TARGET_OBJS)
$(CC) $(CFLAGS) osd-target.c osd.c $(USER_TARGET_OBJS) ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS} ${LIBS} -o osd
#
# Test harness (initiators)
#
iscsifs: iscsifs.o iscsi.o util.o initiator.o parameters.o conffile.o virtdir.o
$(CC) iscsifs.o iscsi.o util.o initiator.o parameters.o conffile.o virtdir.o -o iscsifs ${PTHREAD_LDFLAGS} ${PTHREAD_LIBS} ${LIBS} -lfuse
#
# Dependencies
#
osd_ops.o: $(INCLUDE)/iscsiutil.h $(INCLUDE)/osd.h $(INCLUDE)/osd_ops.h osd_ops.c
util.o: util.c $(INCLUDE)/iscsiutil.h
parameters.o: parameters.c $(INCLUDE)/parameters.h $(INCLUDE)/iscsiutil.h md5.c
usocktest.o: usocktest.c $(INCLUDE)/iscsiutil.h
disk.o: disk.c $(INCLUDE)/device.h $(INCLUDE)/iscsiutil.h $(INCLUDE)/iscsi.h
osd.o: osd.c $(INCLUDE)/osd.h $(INCLUDE)/device.h $(INCLUDE)/iscsiutil.h $(INCLUDE)/iscsi.h
iscsi.o: iscsi.c $(INCLUDE)/iscsi.h $(INCLUDE)/iscsiutil.h
iscsi-harness.o: iscsi-harness.c $(INCLUDE)/iscsi.h $(INCLUDE)/iscsiutil.h $(INCLUDE)/osd.h $(INCLUDE)/initiator.h $(INCLUDE)/tests.h $(INCLUDE)/parameters.h $(INCLUDE)/osd_ops.h
utarget.o: utarget.c $(INCLUDE)/iscsi.h $(INCLUDE)/iscsiutil.h $(INCLUDE)/target.h $(INCLUDE)/device.h
tests.o: tests.c $(INCLUDE)/iscsi.h $(INCLUDE)/iscsiutil.h $(INCLUDE)/initiator.h $(INCLUDE)/tests.h
target.o: target.c $(INCLUDE)/iscsi.h $(INCLUDE)/iscsiutil.h $(INCLUDE)/target.h $(INCLUDE)/parameters.h
initiator.o: initiator.c $(INCLUDE)/iscsi.h $(INCLUDE)/iscsiutil.h $(INCLUDE)/initiator.h $(INCLUDE)/parameters.h
#
# Util
#
clean:
rm -f $(INITIATORS) $(TARGETS) *.o *.core
syntax highlighted by Code2HTML, v. 0.9.1