add some utils
[libelf-compat.git] / Makefile
blob56ad115710f066378a716db04302c3951316c8bf
1 prefix=/usr/local
2 bindir=$(prefix)/bin
3 includedir=$(prefix)/include
4 libdir=$(prefix)/lib
5 sysconfdir=$(prefix)/etc
7 LIBSRC = $(sort $(wildcard src/*.c))
9 SRCS = $(LIBSRC)
10 OBJS = $(SRCS:.c=.o)
11 LIBOBJS = $(LIBSRC:.c=.o)
13 HEADERS = src/libelf.h src/gelf.h
14 ALL_INCLUDES = $(HEADERS)
16 ALL_LIBS=libelf.a
18 CFLAGS=-O3 -std=gnu99 -D_GNU_SOURCE
20 CC = $(CROSS_COMPILE)gcc
21 AR = $(CROSS_COMPILE)ar
22 RANLIB = $(CROSS_COMPILE)ranlib
25 -include config.mak
27 BUILDCFLAGS=$(CFLAGS)
29 all: $(ALL_LIBS)
31 install: $(ALL_LIBS:lib%=$(DESTDIR)$(libdir)/lib%) $(ALL_INCLUDES:src/%=$(DESTDIR)$(includedir)/%)
33 clean:
34 rm -f $(ALL_LIBS)
35 rm -f $(OBJS)
37 %.o: %.c
38 $(CC) $(BUILDCFLAGS) -c -o $@ $<
40 libelf.a: $(LIBOBJS)
41 rm -f $@
42 $(AR) rc $@ $(LIBOBJS)
43 $(RANLIB) $@
45 $(DESTDIR)$(libdir)/%.a: %.a
46 install -D -m 755 $< $@
48 $(DESTDIR)$(includedir)/%: src/%
49 install -D -m 644 $< $@
51 .PHONY: all clean install