1CC = $(CROSS_COMPILE)gcc 2 3XSCOM_VERSION ?= $(shell ../../make_version.sh xscom-utils) 4CFLAGS += -O2 -g -Wall -m64 5 6prefix = /usr/local/ 7sbindir = $(prefix)/sbin 8datadir = $(prefix)/share 9mandir = $(datadir)/man 10 11%.o: %.c 12 $(Q_CC)$(COMPILE.c) $< -o $@ 13 14# Use make V=1 for a verbose build. 15ifndef V 16 Q_CC= @echo ' CC ' $@; 17 Q_LINK= @echo ' LINK ' $@; 18 Q_LN= @echo ' LN ' $@; 19 Q_MKDIR=@echo ' MKDIR ' $@; 20endif 21 22all: getscom putscom getsram 23 24getscom: getscom.c xscom.o version.o 25 $(Q_LINK)$(LINK.o) -o $@ $^ 26 27getsram: getsram.o xscom.o sram.o version.o 28 $(Q_LINK)$(LINK.o) -o $@ $^ 29 30putscom: putscom.o xscom.o version.o 31 $(Q_LINK)$(LINK.o) -o $@ $^ 32 33install: all 34 install -D getscom $(DESTDIR)$(sbindir)/getscom 35 install -D putscom $(DESTDIR)$(sbindir)/putscom 36 install -D getsram $(DESTDIR)$(sbindir)/getsram 37 install -D -m 0644 getscom.1 $(DESTDIR)$(mandir)/man1/getscom.1 38 install -D -m 0644 putscom.1 $(DESTDIR)$(mandir)/man1/putscom.1 39 install -D -m 0644 getsram.1 $(DESTDIR)$(mandir)/man1/getsram.1 40 41.PHONY: clean 42clean: 43 rm -rf *.[od] getscom putscom getsram 44 45.PHONY: distclean 46distclean: clean 47 rm -rf *.c~ *.h~ *.i *.s Makefile~ .version version.c 48 49version.c: ../../make_version.sh .version 50 @(if [ "a$(XSCOM_VERSION)" = "a" ]; then \ 51 echo "#error You need to set XSCOM_VERSION environment variable" > $@ ;\ 52 else \ 53 echo "const char version[] = \"$(XSCOM_VERSION)\";" ;\ 54 fi) > $@ 55 56.PHONY: VERSION-always 57.version: VERSION-always 58 @echo $(XSCOM_VERSION) > $@.tmp 59 @cmp -s $@ $@.tmp || cp $@.tmp $@ 60 @rm -f $@.tmp 61