# this works in gnu make SYSNAME:=${shell uname} OBJTYPE:=${shell uname -m | sed 's;i.86;386;; s;/.*;;; s; ;;g'} # this works in bsd make SYSNAME!=uname OBJTYPE!=uname -m | sed 's;i.86;386;; s;amd64;x864_64;; s;/.*;;; s; ;;g' # the gnu rules will mess up bsd but not vice versa, # hence the gnu rules come first. RANLIB=true include Make.$(SYSNAME)-$(OBJTYPE) PREFIX=/usr/local OFILES=\ aoe.$O\ bio.$O\ goo.$O\ print.$O\ take.$O\ util.$O\ HFILES=\ goo.h\ snap.h\ u.h\ TARGETS=$O.aoesnap\ all: $(TARGETS) install: $(TARGETS) mkdir -p $(PREFIX)/man/man8 install -m 0644 aoesnap.man8 $(PREFIX)/man/man/aoesnap.8 mkdir -p $(PREFIX)/bin for i in $(TARGETS); do \ j=`echo $$i|sed 's:$O\.::'`;\ install -m 0755 $$i $(PREFIX)/bin/$$j;\ done $O.aoesnap: $(OFILES) $(HFILES) aoesnap.$O $(CC) -o $O.aoesnap aoesnap.$O $(OFILES) .c.$O: $(HFILES) $(CC) $(CFLAGS) $*.c %.$O: %.c $(HFILES) $(CC) $(CFLAGS) $*.c $(OFILES): $(HFILES) clean: rm -f $(TARGETS) $(OFILES) $(LIB) $(CLEANFILES) nuke: rm -f $(TARGETS) $(OFILES) *.tgz *.rpm $(NUKEFILES) .phony: all clean nuke install