Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 21 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
PREFIX ?= /usr/local
INCDIR = $(PREFIX)/include
LIBDIR = $(PREFIX)/lib
DATADIR = $(PREFIX)/share
PKG_CONFIG = pkg-config

CFLAGS = -O2 -Wall
CFLAGS = -O2 -Wall $(shell $(PKG_CONFIG) --cflags zlib) \
$(shell $(PKG_CONFIG) --cflags libzstd)
LDFLAGS =
LDLIBS = -lz -lzstd
LDLIBS = $(shell $(PKG_CONFIG) --libs zlib) \
$(shell $(PKG_CONFIG) --libs libzstd)

MAJOR = 1
MINOR = 0.192
Expand All @@ -15,7 +20,7 @@ PICOBJS = $(patsubst %.c,%.os,$(SOURCES))

override CFLAGS += -DHAVE_CONFIG_H -Iinclude -Isrc

all: libelf.a libelf.so
all: libelf.a libelf.so libelf.pc

clean:
rm -f src/*.o src/*.os libelf.a libelf.so
Expand All @@ -33,12 +38,24 @@ libelf.so: $(PICOBJS) Makefile
%.os:: %.c $(HEADERS) Makefile
$(CC) $(CFLAGS) -fPIC -c -o $@ $<

install: install-headers install-static install-shared
libelf.pc: libelf.pc.in Makefile
sed \
-e 's!@prefix[@]!$(PREFIX)!g' \
-e 's!@libdir[@]!$(LIBDIR)!g' \
-e 's!@includedir[@]!$(INCDIR)!g' \
-e 's!@VERSION[@]!$(MINOR)!g' \
$< >$@

install: install-headers install-static install-shared install-pc

install-headers: include/*.h
mkdir -p $(DESTDIR)$(INCDIR)
install -m 0644 include/*.h $(DESTDIR)$(INCDIR)

install-pc: libelf.pc
mkdir -p $(DESTDIR)$(DATADIR)/pkgconfig
install -m 0644 $^ $(DESTDIR)$(DATADIR)/pkgconfig

install-static: libelf.a install-headers
mkdir -p $(DESTDIR)$(LIBDIR)
install -m 0644 $< $(DESTDIR)$(LIBDIR)
Expand Down
11 changes: 11 additions & 0 deletions libelf.pc.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
prefix=@prefix@
libdir=@libdir@
includedir=@includedir@

Name: libelf
Description: elfutils libelf library to read and write ELF files
Version: @VERSION@
URL: https://github.com/arachsys/libelf/

Libs: -L${libdir} -lelf
Cflags: -I${includedir}