diff options
author | Douglas Gilbert <dgilbert@interlog.com> | 2018-01-19 13:08:58 +0000 |
---|---|---|
committer | Douglas Gilbert <dgilbert@interlog.com> | 2018-01-19 13:08:58 +0000 |
commit | 400444efd4e3c2cd758aee250556c84e052634dc (patch) | |
tree | 4db54605f35f18dc4d997263e0218974ecfba463 /examples | |
parent | 239d147229acac3d3504360a38cd5ec8505d0d5e (diff) | |
download | sg3_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/Makefile | 12 | ||||
-rw-r--r-- | examples/Makefile.freebsd | 45 |
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 |