File: Makefile.freebsd

package info (click to toggle)
sg3-utils 1.44-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 7,056 kB
  • sloc: ansic: 93,218; sh: 7,607; cpp: 2,947; makefile: 447
file content (82 lines) | stat: -rw-r--r-- 2,024 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
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_simple5

# EXTRAS = sgq_dd

MAN_PGS = 
MAN_PREF = man8

OS_FLAGS = -DSG_LIB_FREEBSD
EXTRA_FLAGS = $(OS_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_cmds_basic.o ../lib/sg_pt_common.o ../lib/sg_pt_freebsd.o

LDFLAGS = -lcam

all: $(EXECS)

extras: $(EXTRAS)


depend dep:
	for i in *.c; do $(CC) $(INCLUDES) $(CFLAGS) -M $$i; \
	done > .depend

clean:
	/bin/rm -f *.o $(EXECS) $(EXTRAS) core .depend

sg_simple5: sg_simple5.o $(D_FILES)
	$(CC) -o $@ $(LDFLAGS) $@.o $(D_FILES)


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