diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 32 |
1 files changed, 25 insertions, 7 deletions
@@ -1,5 +1,5 @@ -TARGETS = mtu pingu pinguctl +TARGETS = mtu pingu pinguctl client.so VERSION = 0.5 prefix = /usr @@ -7,17 +7,23 @@ localstatedir = /var rundir = $(localstatedir)/run pingustatedir = $(rundir)/pingu +luasharedir = /usr/share/lua/5.1 +lualibdir = /usr/lib/lua/5.1 + BINDIR = $(prefix)/bin DESTDIR ?= INSTALL = install INSTALLDIR = $(INSTALL) -d +PKG_CONFIG ?= pkg-config + + CFLAGS ?= -g CFLAGS += -DPINGU_VERSION=\"$(VERSION)\" CFLAGS += -Wall -Wstrict-prototypes -D_GNU_SOURCE -std=gnu99 CFLAGS += -DDEFAULT_PIDFILE=\"$(pingustatedir)/pingu.pid\" -CFLAGS += -DDEFAULT_ADM_SOCKET=\"$(pingustatedir)/pingu.ctl\" +CFLAGS += -DDEFAULT_ADM_client=\"$(pingustatedir)/pingu.ctl\" pingu_OBJS = \ icmp.o \ @@ -47,21 +53,33 @@ mtu_OBJS = \ netlink.o \ icmp.o -ALL_OBJS= $(pingu_OBJS) $(pinguctl_OBJS) $(mtu_OBJS) +client.so_OBJS = \ + lua-client.o + +client.so_LIBS = $(shell $(PKG_CONFIG) --libs lua) +client.so_LDFLAGS = -shared + +ALL_OBJS= $(pingu_OBJS) $(pinguctl_OBJS) $(mtu_OBJS) $(client.so_OBJS) all: $(TARGETS) -pingu: $(pingu_OBJS) - $(CC) $(LDFLAGS) $(pingu_OBJS) $(pingu_LIBS) -o $@ +$(TARGETS): + $(CC) $(LDFLAGS) $($@_LDFLAGS) $($@_OBJS) $($@_LIBS) -o $@ +pingu: $(pingu_OBJS) pinguctl: $(pinguctl_OBJS) - $(CC) $(LDFLAGS) $(pinguctl_OBJS) $(pinguctl_LIBS) -o $@ - +client.so: $(client.so_OBJS) mtu: $(mtu_OBJS) install: $(TARGETS) $(INSTALLDIR) $(DESTDIR)/$(BINDIR) $(DESTDIR)/$(pingustatedir) $(INSTALL) $(TARGETS) $(DESTDIR)/$(BINDIR) +install-lua: client.so pingu.lua + $(INSTALLDIR) $(DESTDIR)$(luasharedir) \ + $(DESTDIR)$(lualibdir)/pingu + $(INSTALL) pingu.lua $(DESTDIR)$(luasharedir)/ + $(INSTALL) client.so $(DESTDIR)$(lualibdir)/pingu/ + clean: rm -f $(TARGETS) $(ALL_OBJS) |