| 1 | # I2C tools for Linux |
|---|
| 2 | # |
|---|
| 3 | # Copyright (C) 2007 Jean Delvare <khali@linux-fr.org> |
|---|
| 4 | # |
|---|
| 5 | # Licensed under the GNU Public License. |
|---|
| 6 | |
|---|
| 7 | CC = gcc |
|---|
| 8 | CFLAGS = -Wall -Wstrict-prototypes -Wshadow -Wpointer-arith -Wcast-qual \ |
|---|
| 9 | -Wcast-align -Wwrite-strings -Wnested-externs -Winline -W \ |
|---|
| 10 | -Wundef -Wmissing-prototypes -I../include |
|---|
| 11 | |
|---|
| 12 | CFLAGS += -O2 |
|---|
| 13 | # When debugging, use the following instead |
|---|
| 14 | #CFLAGS += -O -g |
|---|
| 15 | |
|---|
| 16 | # Pass linker flags here |
|---|
| 17 | LDFLAGS = |
|---|
| 18 | |
|---|
| 19 | DESTDIR = |
|---|
| 20 | prefix = /usr/local |
|---|
| 21 | sbindir = $(prefix)/sbin |
|---|
| 22 | mandir = $(prefix)/share/man |
|---|
| 23 | man8dir = $(mandir)/man8 |
|---|
| 24 | |
|---|
| 25 | INSTALL := install |
|---|
| 26 | INSTALL_DATA := $(INSTALL) -m 644 |
|---|
| 27 | INSTALL_DIR := $(INSTALL) -m 755 -d |
|---|
| 28 | INSTALL_PROGRAM := $(INSTALL) -m 755 |
|---|
| 29 | RM := rm -f |
|---|
| 30 | |
|---|
| 31 | PROGRAMS := i2cdetect i2cdump i2cset i2cget |
|---|
| 32 | |
|---|
| 33 | all : $(PROGRAMS) |
|---|
| 34 | |
|---|
| 35 | # |
|---|
| 36 | # Programs |
|---|
| 37 | # |
|---|
| 38 | |
|---|
| 39 | i2cdetect : i2cdetect.o i2cbusses.o |
|---|
| 40 | $(CC) $(LDFLAGS) -o $@ $^ |
|---|
| 41 | |
|---|
| 42 | i2cdump : i2cdump.o i2cbusses.o util.o |
|---|
| 43 | $(CC) $(LDFLAGS) -o $@ $^ |
|---|
| 44 | |
|---|
| 45 | i2cset : i2cget.o i2cbusses.o util.o |
|---|
| 46 | $(CC) $(LDFLAGS) -o $@ $^ |
|---|
| 47 | |
|---|
| 48 | i2cget : i2cset.o i2cbusses.o util.o |
|---|
| 49 | $(CC) $(LDFLAGS) -o $@ $^ |
|---|
| 50 | |
|---|
| 51 | # |
|---|
| 52 | # Objects |
|---|
| 53 | # |
|---|
| 54 | |
|---|
| 55 | i2cdetect.o : i2cdetect.c i2cbusses.h |
|---|
| 56 | $(CC) $(CFLAGS) -c $< -o $@ |
|---|
| 57 | |
|---|
| 58 | i2cdump.o : i2cdump.c i2cbusses.h util.h |
|---|
| 59 | $(CC) $(CFLAGS) -c $< -o $@ |
|---|
| 60 | |
|---|
| 61 | i2cset.o : i2cset.c i2cbusses.h util.h |
|---|
| 62 | $(CC) $(CFLAGS) -c $< -o $@ |
|---|
| 63 | |
|---|
| 64 | i2cget.o : i2cget.c i2cbusses.h util.h |
|---|
| 65 | $(CC) $(CFLAGS) -c $< -o $@ |
|---|
| 66 | |
|---|
| 67 | i2cbusses.o : i2cbusses.c i2cbusses.h |
|---|
| 68 | $(CC) $(CFLAGS) -c $< -o $@ |
|---|
| 69 | |
|---|
| 70 | util.o : util.c util.h |
|---|
| 71 | $(CC) $(CFLAGS) -c $< -o $@ |
|---|
| 72 | |
|---|
| 73 | # |
|---|
| 74 | # Commands |
|---|
| 75 | # |
|---|
| 76 | |
|---|
| 77 | strip : $(PROGRAMS) |
|---|
| 78 | strip $(PROGRAMS) |
|---|
| 79 | |
|---|
| 80 | install : install-bin install-man |
|---|
| 81 | |
|---|
| 82 | uninstall : uninstall-bin uninstall-man |
|---|
| 83 | |
|---|
| 84 | install-bin : $(PROGRAMS) |
|---|
| 85 | $(INSTALL_DIR) $(DESTDIR)$(sbindir) |
|---|
| 86 | for program in $(PROGRAMS) ; do \ |
|---|
| 87 | $(INSTALL_PROGRAM) $$program $(DESTDIR)$(sbindir) ; done |
|---|
| 88 | |
|---|
| 89 | uninstall-bin : |
|---|
| 90 | for program in $(PROGRAMS) ; do \ |
|---|
| 91 | $(RM) $(DESTDIR)$(sbindir)/$$program ; done |
|---|
| 92 | |
|---|
| 93 | install-man : |
|---|
| 94 | $(INSTALL_DIR) $(DESTDIR)$(man8dir) |
|---|
| 95 | for program in $(PROGRAMS) ; do \ |
|---|
| 96 | $(INSTALL_DATA) $$program.8 $(DESTDIR)$(man8dir) ; done |
|---|
| 97 | |
|---|
| 98 | uninstall-man : |
|---|
| 99 | for program in $(PROGRAMS) ; do \ |
|---|
| 100 | $(RM) $(DESTDIR)$(man8dir)/$$program.8 ; done |
|---|
| 101 | |
|---|
| 102 | clean : |
|---|
| 103 | $(RM) *.o $(PROGRAMS) core |
|---|