| # quirc -- QR-code recognition library |
| # Copyright (C) 2010-2012 Daniel Beer <dlbeer@gmail.com> |
| # |
| # Permission to use, copy, modify, and/or distribute this software for any |
| # purpose with or without fee is hereby granted, provided that the above |
| # copyright notice and this permission notice appear in all copies. |
| # |
| # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
| # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
| # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
| # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
| # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| |
| CC ?= gcc |
| PREFIX ?= /usr/local |
| SDL_CFLAGS != pkg-config --cflags sdl |
| SDL_LIBS != pkg-config --libs sdl |
| |
| LIB_VERSION = 1.0 |
| |
| CFLAGS ?= -O3 -Wall -fPIC |
| QUIRC_CFLAGS = -Ilib $(CFLAGS) $(SDL_CFLAGS) |
| LIB_OBJ = \ |
| lib/decode.o \ |
| lib/identify.o \ |
| lib/quirc.o \ |
| lib/version_db.o |
| DEMO_OBJ = \ |
| demo/camera.o \ |
| demo/mjpeg.o \ |
| demo/convert.o \ |
| demo/dthash.o \ |
| demo/demoutil.o |
| |
| all: libquirc.so qrtest inspect quirc-demo quirc-scanner |
| |
| qrtest: tests/dbgutil.o tests/qrtest.o libquirc.a |
| $(CC) -o $@ tests/dbgutil.o tests/qrtest.o libquirc.a $(LDFLAGS) -lm -ljpeg -lpng |
| |
| inspect: tests/dbgutil.o tests/inspect.o libquirc.a |
| $(CC) -o $@ tests/dbgutil.o tests/inspect.o libquirc.a $(LDFLAGS) -lm -ljpeg -lpng $(SDL_LIBS) -lSDL_gfx |
| |
| quirc-demo: $(DEMO_OBJ) demo/demo.o libquirc.a |
| $(CC) -o $@ $(DEMO_OBJ) demo/demo.o libquirc.a $(LDFLAGS) -lm -ljpeg $(SDL_LIBS) -lSDL_gfx |
| |
| quirc-scanner: $(DEMO_OBJ) demo/scanner.o libquirc.a |
| $(CC) -o $@ $(DEMO_OBJ) demo/scanner.o libquirc.a $(LDFLAGS) -lm -ljpeg |
| |
| libquirc.a: $(LIB_OBJ) |
| rm -f $@ |
| ar cru $@ $(LIB_OBJ) |
| ranlib $@ |
| |
| .PHONY: libquirc.so |
| libquirc.so: libquirc.so.$(LIB_VERSION) |
| |
| libquirc.so.$(LIB_VERSION): $(LIB_OBJ) |
| $(CC) -shared -o $@ $(LIB_OBJ) $(LDFLAGS) -lm |
| |
| .c.o: |
| $(CC) $(QUIRC_CFLAGS) -o $@ -c $< |
| |
| install: libquirc.a libquirc.so.$(LIB_VERSION) quirc-demo quirc-scanner |
| install -o root -g root -m 0644 lib/quirc.h $(DESTDIR)$(PREFIX)/include |
| install -o root -g root -m 0644 libquirc.a $(DESTDIR)$(PREFIX)/lib |
| install -o root -g root -m 0755 libquirc.so.$(LIB_VERSION) \ |
| $(DESTDIR)$(PREFIX)/lib |
| install -o root -g root -m 0755 quirc-demo $(DESTDIR)$(PREFIX)/bin |
| install -o root -g root -m 0755 quirc-scanner $(DESTDIR)$(PREFIX)/bin |
| |
| uninstall: |
| rm -f $(DESTDIR)$(PREFIX)/include/quirc.h |
| rm -f $(DESTDIR)$(PREFIX)/lib/libquirc.so.$(LIB_VERSION) |
| rm -f $(DESTDIR)$(PREFIX)/lib/libquirc.a |
| rm -f $(DESTDIR)$(PREFIX)/bin/quirc-demo |
| rm -f $(DESTDIR)$(PREFIX)/bin/quirc-scanner |
| |
| clean: |
| rm -f */*.o |
| rm -f */*.lo |
| rm -f libquirc.a |
| rm -f libquirc.so.$(LIB_VERSION) |
| rm -f qrtest |
| rm -f inspect |
| rm -f quirc-demo |
| rm -f quirc-scanner |