Makefile: add cross-compile functionality

Add cross-compile functionality to the Makefile and add an "install"
target. This makes uhubctl "Yocto Project Compatible".

Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
This commit is contained in:
Richard Leitner
2017-02-20 09:39:23 +01:00
parent f25d3e3786
commit a45cb2a59a

View File

@@ -1,9 +1,33 @@
CFLAGS = -g -O0
LDFLAGS = -lusb-1.0
# uhubctl Makefile
#
UNAME_S := $(shell uname -s)
DESTDIR ?=
prefix ?= /usr
sbindir ?= $(prefix)/sbin
INSTALL := install
INSTALL_DIR := $(INSTALL) -m 755 -d
INSTALL_PROGRAM := $(INSTALL) -m 755
RM := rm -rf
CC ?= gcc
CFLAGS ?= -g -O0
CFLAGS += -Wall -Wextra
ifeq ($(UNAME_S),Linux)
LDFLAGS += -Wl,-z,relro
endif
PROGRAM = uhubctl
$(PROGRAM): $(PROGRAM).o
cc $(CFLAGS) $@.c -o $@ $(LDFLAGS)
$(PROGRAM): $(PROGRAM).c
$(CC) $(CFLAGS) $@.c -o $@ -lusb-1.0 $(LDFLAGS)
install:
$(INSTALL_DIR) $(DESTDIR)$(sbindir)
$(INSTALL_PROGRAM) $(PROGRAM) $(DESTDIR)$(sbindir)
clean:
rm -rf $(PROGRAM).o $(PROGRAM).dSYM $(PROGRAM)
$(RM) $(PROGRAM).o $(PROGRAM).dSYM $(PROGRAM)