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