aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorDouglas Gilbert <dgilbert@interlog.com>2018-01-19 13:08:58 +0000
committerDouglas Gilbert <dgilbert@interlog.com>2018-01-19 13:08:58 +0000
commit400444efd4e3c2cd758aee250556c84e052634dc (patch)
tree4db54605f35f18dc4d997263e0218974ecfba463 /examples
parent239d147229acac3d3504360a38cd5ec8505d0d5e (diff)
downloadsg3_utils-400444efd4e3c2cd758aee250556c84e052634dc.tar.gz
add hex2stdout(), hex2stderr() and hex2str(); add testing/sg_tst_nvme; clean Makefile.freebsd in examples/ and testing/; NVMe error processing
git-svn-id: https://svn.bingwo.ca/repos/sg3_utils/trunk@745 6180dd3e-e324-4e3e-922d-17de1ae2f315
Diffstat (limited to 'examples')
-rw-r--r--examples/Makefile12
-rw-r--r--examples/Makefile.freebsd45
2 files changed, 44 insertions, 13 deletions
diff --git a/examples/Makefile b/examples/Makefile
index cd8920d8..1501850f 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -4,8 +4,15 @@ PREFIX=/usr/local
INSTDIR=$(DESTDIR)/$(PREFIX)/bin
MANDIR=$(DESTDIR)/$(PREFIX)/man
+# In Linux the default C compiler is GCC while in FreeBSD (since release 10 ?)
+# the default C compiler is clang. Swap the comment marks (lines starting
+# with '#') on the next 4 (non-blank) lines.
CC = gcc
+# CC = clang
+
LD = gcc
+# LD = clang
+
EXECS = sg_simple1 sg_simple2 sg_simple3 sg_simple4 sg_simple16 \
scsi_inquiry sg_excl sg_simple5 sg__sat_identify \
@@ -107,6 +114,11 @@ uninstall:
rm -f $(MANDIR)/$(MAN_PREF)/$$mp.gz; \
done
+# Linux uses GNU make and FreeBSD uses Berkely make. The following lines
+# only work in Linux. Possible solutions in FreeBSD:
+# a) use 'gmake'; b) comment out the next 3 lines, starting with 'ifeq'
+# c) build with 'make -f Makefile.freebsd'
+# In Linux one can install bmake (but that won't help here).
ifeq (.depend,$(wildcard .depend))
include .depend
endif
diff --git a/examples/Makefile.freebsd b/examples/Makefile.freebsd
index 7b90aa97..86d48cc7 100644
--- a/examples/Makefile.freebsd
+++ b/examples/Makefile.freebsd
@@ -4,51 +4,62 @@ PREFIX=/usr/local
INSTDIR=$(DESTDIR)/$(PREFIX)/bin
MANDIR=$(DESTDIR)/$(PREFIX)/man
-CC = gcc
-LD = gcc
+# In Linux the default C compiler is GCC while in FreeBSD (since release 10 ?)
+# the default C compiler is clang. Swap the comment marks (lines starting
+# with '#') on the next 4 (non-blank) lines.
+# CC = gcc
+CC = clang
+
+# LD = gcc
+LD = clang
+
EXECS = sg_simple5
-MAN_PGS =
+# EXTRAS = sgq_dd
+
+MAN_PGS =
MAN_PREF = man8
OS_FLAGS = -DSG_LIB_FREEBSD
EXTRA_FLAGS = $(OS_FLAGS)
-# CFLAGS = -O2 -Wall -W $(EXTRA_FLAGS)
-CFLAGS = -g -O2 -Wall -W $(EXTRA_FLAGS)
-# CFLAGS = -g -O2 -Wall -W -pedantic -std=c99 $(EXTRA_FLAGS)
+# CFLAGS = -O2 -Wall -W $(EXTRA_FLAGS) -I ../include
+CFLAGS = -g -O2 -Wall -W $(EXTRA_FLAGS) -I ../include
+# CFLAGS = -g -O2 -Wall -W -pedantic -std=c99 $(EXTRA_FLAGS) -I ../include
CFLAGS_PTHREADS = -D_REENTRANT
# there is no rule to make the following in the parent directory,
# it is assumed they are already built.
-D_FILES = ../lib/sg_lib.o ../lib/sg_lib_data.o ../lib/sg_pt_freebsd.o
+D_FILES = ../lib/sg_lib.o ../lib/sg_lib_data.o ../lib/sg_cmds_basic.o ../lib/sg_pt_common.o ../lib/sg_pt_freebsd.o
LDFLAGS = -lcam
-# LDFLAGS = -v -lm
all: $(EXECS)
+extras: $(EXTRAS)
+
+
depend dep:
for i in *.c; do $(CC) $(INCLUDES) $(CFLAGS) -M $$i; \
done > .depend
clean:
- /bin/rm -f *.o $(EXECS) core* .depend *.a *.la *.lo
- /bin/rm -rf .libs
+ /bin/rm -f *.o $(EXECS) $(EXTRAS) core .depend
sg_simple5: sg_simple5.o $(D_FILES)
$(LD) -o $@ $(LDFLAGS) $@.o $(D_FILES)
+
install: $(EXECS)
install -d $(INSTDIR)
- for name in $(EXECS); \
- do install -s -m 755 $$name $(INSTDIR); \
+ for name in $^; \
+ do install -s -o root -g root -m 755 $$name $(INSTDIR); \
done
install -d $(MANDIR)/$(MAN_PREF)
for mp in $(MAN_PGS); \
- do install -m 644 $$mp $(MANDIR)/$(MAN_PREF); \
+ do install -o root -g root -m 644 $$mp $(MANDIR)/$(MAN_PREF); \
gzip -9f $(MANDIR)/$(MAN_PREF)/$$mp; \
done
@@ -61,3 +72,11 @@ uninstall:
rm -f $(MANDIR)/$(MAN_PREF)/$$mp.gz; \
done
+# Linux uses GNU make and FreeBSD uses Berkely make. The following lines
+# only work in Linux. Possible solutions in FreeBSD:
+# a) use 'gmake'; b) comment out the next 3 lines, starting with 'ifeq'
+# c) build with 'make -f Makefile.freebsd'
+# In Linux one can install bmake (but that won't help here).
+# ifeq (.depend,$(wildcard .depend))
+# include .depend
+# endif