diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b32bace --- /dev/null +++ b/Makefile @@ -0,0 +1,63 @@ +AR = ar +CC = gcc +LD = gcc +DOXYGEN = doxygen +INSTALL = install +SED = sed +MKDIR = mkdir +PKG_CONFIG = pkg-config + +ARFLAGS = -cru +CFLAGS = -g -Wall -Wextra -Wundef -Wpointer-arith -Wcast-align \ + -Wwrite-strings -Wstrict-prototypes \ + -Wnested-externs -Werror -pedantic -std=c99 \ + -Wno-format-zero-length -Wformat-security -Wstrict-aliasing=2 \ + -Wmissing-format-attribute -Wunused -Wunreachable-code \ + -Wformat=2 -Werror-implicit-function-declaration \ + -Wmissing-declarations -Wmissing-prototypes +LDFLAGS = -g -L./ + +# Installation prefix, if not already defined (e.g. on command line) +PREFIX ?= /usr/local +DESTDIR ?= + +.PHONY: all clean docs install uninstall + +all: librosprite.a + +example: librosprite.a example.o + ${LD} -o $@ example.o ${LDFLAGS} \ + $(shell PKG_CONFIG_PATH=.:$(PKG_CONFIG_PATH) $(PKG_CONFIG) --cflags --libs sdl librosprite) + +palette2c: librosprite.a palette2c.o + ${LD} -o $@ palette2c.o ${LDFLAGS} \ + $(shell PKG_CONFIG_PATH=.:$(PKG_CONFIG_PATH) $(PKG_CONFIG) --cflags --libs librosprite) + +librosprite.a: librosprite.o librosprite.pc + ${AR} ${ARFLAGS} librosprite.a librosprite.o + +librosprite.pc: librosprite.pc.in + $(SED) -e 's#PREFIX#$(PREFIX)#' librosprite.pc.in > librosprite.pc + +%.o: %.c + ${CC} -c ${CFLAGS} -o $@ $< + +docs: + ${DOXYGEN} + +clean: + rm -f $(wildcard *.o) $(wildcard *.a) example palette2c librosprite.pc + rm -rf doc + +install: librosprite.a librosprite.pc + $(MKDIR) -p $(DESTDIR)$(PREFIX)/lib/pkgconfig + $(MKDIR) -p $(DESTDIR)$(PREFIX)/lib + $(MKDIR) -p $(DESTDIR)$(PREFIX)/include + $(INSTALL) --mode=644 -t $(DESTDIR)$(PREFIX)/lib librosprite.a + $(INSTALL) --mode=644 -t $(DESTDIR)$(PREFIX)/include librosprite.h + $(INSTALL) --mode=644 -t $(DESTDIR)$(PREFIX)/lib/pkgconfig librosprite.pc + +uninstall: + rm $(DESTDIR)$(PREFIX)/lib/librosprite.a + rm $(DESTDIR)$(PREFIX)/include/librosprite.h + rm $(DESTDIR)$(PREFIX)/lib/pkgconfig/librosprite.pc |