15 CFLAGS ?= -g -pedantic -Werror
16 CFLAGS += -std=c99 -Wall -Wextra
19 SPARSEFLAGS=-Wsparse-all -Wno-decl
21 # BSD make does not define RM
24 # Installation paths and modes
26 BINDIR ?= $(PREFIX)/bin
28 MANDIR ?= $(PREFIX)/man
31 # Common library includes
32 LDLIBS = -lOpenCL -ldl
34 # OS-specific library includes
35 LDLIBS_Darwin = -framework OpenCL
36 LDLIBS_Darwin_exclude = -lOpenCL
38 LDLIBS += $(LDLIBS_${OS})
40 # Remove -lOpenCL if OS is Darwin
41 LDLIBS := $(LDLIBS:$(LDLIBS_${OS}_exclude)=)
50 $(PROG).o: $(PROG).c $(HDR)
53 $(RM) $(PROG).o $(PROG)
61 $(BINDIR)/$(PROG): $(PROG) $(BINDIR)
62 install -p -m $(BINMODE) $(PROG) $@
64 $(MANDIR)/$(MAN): $(MAN) $(MANDIR)/man1
65 install -p -m $(MANMODE) $(MAN) $@
67 install: $(BINDIR)/$(PROG) $(MANDIR)/$(MAN)
71 $(SPARSE) $(CPPFLAGS) $(CFLAGS) $(SPARSEFLAGS) $^
74 .PHONY: clean sparse install