summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile51
1 files changed, 33 insertions, 18 deletions
diff --git a/Makefile b/Makefile
index 5e19a79..b9f4591 100644
--- a/Makefile
+++ b/Makefile
@@ -13,32 +13,47 @@
YACC_DEBUG=-t
DEBUG=-DDEBUG
INC=-I.
-CFLAGS=-g -O2 -Wextra $(INC) $(DEBUG)
-LIBS= -lcg
-LDFLAGS= -L .
-INSTALLPREFIX=
-
-all: cgconfig libcg.so
-
-cgconfig: libcg.so config.c y.tab.c lex.yy.c libcg.h file-ops.c
+LIBS= -lcgroup
+LDFLAGS=
+YACC=byacc
+LEX=flex
+bindir=${exec_prefix}/bin
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+prefix=/usr
+exec_prefix=${prefix}
+INSTALL=install
+INSTALL_DATA=${INSTALL} -m 644
+PACKAGE_VERSION=0.1b
+CFLAGS=-g -O2 $(INC) -DPACKAGE_VERSION=$(PACKAGE_VERSION)
+VERSION=1
+
+all: libcgroup.so
+
+cgconfig: libcgroup.so config.c y.tab.c lex.yy.c libcgroup.h file-ops.c
$(CC) $(CFLAGS) -o $@ y.tab.c lex.yy.c config.c file-ops.c $(LDFLAGS) $(LIBS)
y.tab.c: parse.y lex.yy.c
- byacc -v -d parse.y
+ $(YACC) -v -d parse.y
lex.yy.c: lex.l
- flex lex.l
+ $(LEX) lex.l
-libcg.so: api.c libcg.h
+libcgroup.so: api.c libcgroup.h
$(CXX) $(CFLAGS) -shared -fPIC -o $@ api.c
+ ln -sf $@ $@.$(VERSION)
-install: libcg.so
- \cp libcg.h $(INSTALLPREFIX)/usr/include
- \cp libcg.so $(INSTALLPREFIX)/usr/lib
+install: libcgroup.so
+ $(INSTALL_DATA) -D libcgroup.h $(DESTDIR)$(includedir)/libcgroup.h
+ $(INSTALL) -D libcgroup.so $(DESTDIR)$(libdir)/libcgroup-$(PACKAGE_VERSION).so
+ ln -sf libcgroup-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libcgroup.so.$(VERSION)
+ ln -sf libcgroup.so.$(VERSION) $(DESTDIR)$(libdir)/libcgroup.so
-uninstall: libcg.so
- \rm $(INSTALLPREFIX)/usr/include/libcg.h
- \rm $(INSTALLPREFIX)/usr/lib/libcg.so
+uninstall: libcgroup.so
+ rm -f $(DESTDIR)$(includedir)/libcgroup.h
+ rm -f $(DESTDIR)$(libdir)/libcgroup.so
+ rm -f $(DESTDIR)$(libdir)/libcgroup.so.$(VERSION)
+ rm -f $(DESTDIR)$(libdir)/libcgroup-$(PACKAGE_VERSION).so
clean:
- \rm -f y.tab.c y.tab.h lex.yy.c y.output cgconfig libcg.so
+ \rm -f y.tab.c y.tab.h lex.yy.c y.output cgconfig libcgroup.so