1*44704f69SBart Van AsscheSHELL = /bin/sh 2*44704f69SBart Van Assche 3*44704f69SBart Van AsschePREFIX=/usr/local 4*44704f69SBart Van AsscheINSTDIR=$(DESTDIR)/$(PREFIX)/bin 5*44704f69SBart Van AsscheMANDIR=$(DESTDIR)/$(PREFIX)/man 6*44704f69SBart Van Assche 7*44704f69SBart Van Assche# In Linux the default C compiler is GCC while in FreeBSD (since release 10 ?) 8*44704f69SBart Van Assche# the default C compiler is clang. Swap the comment marks (lines starting 9*44704f69SBart Van Assche# with '#') on the next 4 (non-blank) lines. 10*44704f69SBart Van Assche# CC = gcc 11*44704f69SBart Van Assche# CC = clang 12*44704f69SBart Van Assche 13*44704f69SBart Van Assche# LD = gcc 14*44704f69SBart Van Assche# LD = clang 15*44704f69SBart Van Assche 16*44704f69SBart Van Assche 17*44704f69SBart Van AsscheEXECS = sg_simple5 18*44704f69SBart Van Assche 19*44704f69SBart Van Assche# EXTRAS = sgq_dd 20*44704f69SBart Van Assche 21*44704f69SBart Van AsscheMAN_PGS = 22*44704f69SBart Van AsscheMAN_PREF = man8 23*44704f69SBart Van Assche 24*44704f69SBart Van AsscheOS_FLAGS = -DSG_LIB_FREEBSD 25*44704f69SBart Van AsscheEXTRA_FLAGS = $(OS_FLAGS) 26*44704f69SBart Van Assche 27*44704f69SBart Van Assche# CFLAGS = -O2 -Wall -W $(EXTRA_FLAGS) -I ../include 28*44704f69SBart Van AsscheCFLAGS = -g -O2 -Wall -W $(EXTRA_FLAGS) -I ../include 29*44704f69SBart Van Assche# CFLAGS = -g -O2 -Wall -W -pedantic -std=c99 $(EXTRA_FLAGS) -I ../include 30*44704f69SBart Van Assche 31*44704f69SBart Van AsscheCFLAGS_PTHREADS = -D_REENTRANT 32*44704f69SBart Van Assche 33*44704f69SBart Van Assche# there is no rule to make the following in the parent directory, 34*44704f69SBart Van Assche# it is assumed they are already built. 35*44704f69SBart Van AsscheD_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 36*44704f69SBart Van Assche 37*44704f69SBart Van AsscheLDFLAGS = -lcam 38*44704f69SBart Van Assche 39*44704f69SBart Van Asscheall: $(EXECS) 40*44704f69SBart Van Assche 41*44704f69SBart Van Asscheextras: $(EXTRAS) 42*44704f69SBart Van Assche 43*44704f69SBart Van Assche 44*44704f69SBart Van Asschedepend dep: 45*44704f69SBart Van Assche for i in *.c; do $(CC) $(INCLUDES) $(CFLAGS) -M $$i; \ 46*44704f69SBart Van Assche done > .depend 47*44704f69SBart Van Assche 48*44704f69SBart Van Asscheclean: 49*44704f69SBart Van Assche /bin/rm -f *.o $(EXECS) $(EXTRAS) core .depend 50*44704f69SBart Van Assche 51*44704f69SBart Van Asschesg_simple5: sg_simple5.o $(D_FILES) 52*44704f69SBart Van Assche $(CC) -o $@ $(LDFLAGS) $@.o $(D_FILES) 53*44704f69SBart Van Assche 54*44704f69SBart Van Assche 55*44704f69SBart Van Asscheinstall: $(EXECS) 56*44704f69SBart Van Assche install -d $(INSTDIR) 57*44704f69SBart Van Assche for name in $^; \ 58*44704f69SBart Van Assche do install -s -o root -g root -m 755 $$name $(INSTDIR); \ 59*44704f69SBart Van Assche done 60*44704f69SBart Van Assche install -d $(MANDIR)/$(MAN_PREF) 61*44704f69SBart Van Assche for mp in $(MAN_PGS); \ 62*44704f69SBart Van Assche do install -o root -g root -m 644 $$mp $(MANDIR)/$(MAN_PREF); \ 63*44704f69SBart Van Assche gzip -9f $(MANDIR)/$(MAN_PREF)/$$mp; \ 64*44704f69SBart Van Assche done 65*44704f69SBart Van Assche 66*44704f69SBart Van Asscheuninstall: 67*44704f69SBart Van Assche dists="$(EXECS)"; \ 68*44704f69SBart Van Assche for name in $$dists; do \ 69*44704f69SBart Van Assche rm -f $(INSTDIR)/$$name; \ 70*44704f69SBart Van Assche done 71*44704f69SBart Van Assche for mp in $(MAN_PGS); do \ 72*44704f69SBart Van Assche rm -f $(MANDIR)/$(MAN_PREF)/$$mp.gz; \ 73*44704f69SBart Van Assche done 74*44704f69SBart Van Assche 75*44704f69SBart Van Assche# Linux uses GNU make and FreeBSD uses Berkely make. The following lines 76*44704f69SBart Van Assche# only work in Linux. Possible solutions in FreeBSD: 77*44704f69SBart Van Assche# a) use 'gmake'; b) comment out the next 3 lines, starting with 'ifeq' 78*44704f69SBart Van Assche# c) build with 'make -f Makefile.freebsd' 79*44704f69SBart Van Assche# In Linux one can install bmake (but that won't help here). 80*44704f69SBart Van Assche# ifeq (.depend,$(wildcard .depend)) 81*44704f69SBart Van Assche# include .depend 82*44704f69SBart Van Assche# endif 83