diff options
author | Bart Van Assche <bvanassche@google.com> | 2022-11-23 20:04:46 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-11-23 20:04:46 +0000 |
commit | 62b99c09a4bbb75fea6c309c77ebf856323d908c (patch) | |
tree | 207cdb23f8257e270a30143fde23d2033901581f /examples/Makefile | |
parent | 8718296061e35ba33bf88847e7498f3d7e38f8f1 (diff) | |
parent | 3c61bd9e26bf930f865e28e7eef48856653d1c98 (diff) | |
download | sg3_utils-62b99c09a4bbb75fea6c309c77ebf856323d908c.tar.gz |
Merge remote-tracking branch 'aosp/upstream-main' into HEAD am: 448b67b18a am: d39ef90544 am: 3c61bd9e26
Original change: https://android-review.googlesource.com/c/platform/external/sg3_utils/+/2312210
Change-Id: I0362cffa263ba632a3e2058f8f50f32e024b2cc3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
Diffstat (limited to 'examples/Makefile')
-rw-r--r-- | examples/Makefile | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/examples/Makefile b/examples/Makefile new file mode 100644 index 00000000..d8156744 --- /dev/null +++ b/examples/Makefile @@ -0,0 +1,127 @@ +SHELL = /bin/sh + +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 \ + sg__sat_phy_event sg__sat_set_features sg_sat_chk_power \ + sg_sat_smart_rd_data + +EXTRAS = sgq_dd + +BSG_EXTRAS = + + +MAN_PGS = +MAN_PREF = man8 + +LARGE_FILE_FLAGS = -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 + +CPPFLAGS = -iquote ../include -D_REENTRANT $(LARGE_FILE_FLAGS) +# CPPFLAGS = -iquote ../include -D_REENTRANT $(LARGE_FILE_FLAGS) -DDEBUG + +CFLAGS = -g -O2 -W -Wall +# CFLAGS = -g -O2 -Wall -DSG_KERNEL_INCLUDES +# CFLAGS = -g -O2 -Wall -pedantic + +LDFLAGS = + +LIBFILESOLD = ../lib/sg_lib.o ../lib/sg_lib_data.o ../lib/sg_io_linux.o +LIBFILESNEW = ../lib/sg_lib.o ../lib/sg_lib_data.o ../lib/sg_pt_common.o ../lib/sg_pt_linux.o ../lib/sg_pt_linux_nvme.o + +all: $(EXECS) + +extras: $(EXTRAS) + +bsg: $(BSG_EXTRAS) + + +depend dep: + for i in *.c; do $(CC) $(INCLUDES) $(CFLAGS) -M $$i; \ + done > .depend + +clean: + /bin/rm -f *.o $(EXECS) $(EXTRAS) $(BSG_EXTRAS) core .depend + +sg_simple1: sg_simple1.o $(LIBFILESOLD) + $(LD) -o $@ $(LDFLAGS) $^ + +sg_simple2: sg_simple2.o + $(LD) -o $@ $(LDFLAGS) $^ + +sg_simple3: sg_simple3.o $(LIBFILESOLD) + $(LD) -o $@ $(LDFLAGS) $^ + +sg_simple4: sg_simple4.o $(LIBFILESOLD) + $(LD) -o $@ $(LDFLAGS) $^ + +sg_simple16: sg_simple16.o $(LIBFILESOLD) + $(LD) -o $@ $(LDFLAGS) $^ + +scsi_inquiry: scsi_inquiry.o + $(LD) -o $@ $(LDFLAGS) $^ + +sg_excl: sg_excl.o $(LIBFILESOLD) + $(LD) -o $@ $(LDFLAGS) $^ + +sg_simple5: sg_simple5.o $(LIBFILESNEW) + $(LD) -o $@ $(LDFLAGS) $^ + +sg__sat_identify: sg__sat_identify.o $(LIBFILESOLD) + $(LD) -o $@ $(LDFLAGS) $^ + +sg__sat_phy_event: sg__sat_phy_event.o $(LIBFILESOLD) + $(LD) -o $@ $(LDFLAGS) $^ + +sg__sat_set_features: sg__sat_set_features.o $(LIBFILESOLD) + $(LD) -o $@ $(LDFLAGS) $^ + +sg_sat_chk_power: sg_sat_chk_power.o $(LIBFILESOLD) + $(LD) -o $@ $(LDFLAGS) $^ + +sg_sat_smart_rd_data: sg_sat_smart_rd_data.o $(LIBFILESOLD) + $(LD) -o $@ $(LDFLAGS) $^ + +sgq_dd: sgq_dd.o $(LIBFILESOLD) + $(LD) -o $@ $(LDFLAGS) $^ + +install: $(EXECS) + install -d $(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 -o root -g root -m 644 $$mp $(MANDIR)/$(MAN_PREF); \ + gzip -9f $(MANDIR)/$(MAN_PREF)/$$mp; \ + done + +uninstall: + dists="$(EXECS)"; \ + for name in $$dists; do \ + rm -f $(INSTDIR)/$$name; \ + done + for mp in $(MAN_PGS); do \ + 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 |