Makefile improvements (DESTDIR, configuration, ...)

Tue, 14 May 2013 01:45:01 +0700

author
Vadim Misbakh-Soloviov <mva@mva.name>
date
Tue, 14 May 2013 01:45:01 +0700
changeset 15
dc303ec39b54
parent 14
b4e6b167e020
child 16
1f41c74ce686

Makefile improvements (DESTDIR, configuration, ...)

Makefile file | annotate | diff | comparison | revisions
config file | annotate | diff | comparison | revisions
makefile file | annotate | diff | comparison | revisions
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Makefile	Tue May 14 01:45:01 2013 +0700
@@ -0,0 +1,40 @@
+CC		?= cc
+AR		?= ar rcu
+RANLIB		?= ranlib
+RM		?= rm -rf
+MKDIR		?= mkdir -p
+INSTALL		?= install
+INSTALL_PROGRAM	?= $(INSTALL)
+INSTALL_DATA	?= $(INSTALL) -m 644
+LUA_V		?= 5.1
+LUA_LDIR	?= /usr/share/lua/$(LUA_V)
+LUA_CDIR	?= /usr/lib/lua/$(LUA_V)
+T		= lxp
+LIBNAME		= $(T).so
+
+COMMON_CFLAGS	 = -g -pedantic -Wall -O2 -shared -fPIC -DPIC -ansi
+LUA_INC		?= -I/usr/include/lua$(LUA_V)
+EXPAT_INC	?= -I/usr/include
+CF		 = $(LUA_INC) $(EXPAT_INC) $(COMMON_CFLAGS) $(CFLAGS)
+
+EXPAT_LIB	 = -lexpat
+COMMON_LDFLAGS	 = -shared
+LF		 = $(COMMON_LDFLAGS) $(EXPAT_LIB) $(LDFLAGS)
+
+OBJS		 = src/lxplib.o
+
+lib: src/$(LIBNAME)
+
+src/$(LIBNAME): $(OBJS)
+	export MACOSX_DEPLOYMENT_TARGET="10.3";
+	$(CC) $(CF) $(LF) -o $@ $<
+
+$(OBJS):
+	$(CC) $(CF) $(LF) -o $@ src/$(T)lib.c
+
+install:
+	$(INSTALL_PROGRAM) -D src/$(LIBNAME) $(DESTDIR)$(LUA_CDIR)/$(LIBNAME)
+	$(INSTALL_PROGRAM) -D src/$T/lom.lua $(DESTDIR)$(LUA_LDIR)/$T/lom.lua
+
+clean:
+	rm -f src/$(LIBNAME) $(OBJS)
\ No newline at end of file
--- a/config	Sat Jul 28 01:59:45 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-# Installation directories
-# System's libraries directory (where binary libraries are installed)
-LUA_LIBDIR= /usr/local/lib/lua/5.0
-# System's lua directory (where Lua libraries are installed)
-LUA_DIR= /usr/local/share/lua/5.0
-# Lua includes directory
-LUA_INC= /usr/local/include
-# Expat includes directory
-EXPAT_INC= /usr/local/include
-
-# OS dependent
-LIB_OPTION= -shared #for Linux
-#LIB_OPTION= -bundle -undefined dynamic_lookup #for MacOS X
-
-LIBNAME= $T.so.$V
-# Lua version number
-# (according to Lua 5.1 definition:
-# first version digit * 100 + second version digit
-# e.g. Lua 5.0.2 => 500, Lua 5.1 => 501, Lua 5.1.1 => 501)
-LUA_VERSION_NUM= 502
-
-# Compilation parameters
-CWARNS = -Wall -pedantic \
-        -Waggregate-return \
-        -Wcast-align \
-        -Wmissing-prototypes \
-        -Wstrict-prototypes \
-        -Wnested-externs \
-        -Wpointer-arith \
-        -Wshadow \
-        -Wwrite-strings
-
-CFLAGS = $(CWARNS) -ansi -O2 -fPIC -I$(LUA_INC) \
-   -I$(EXPAT_INC)
-CC = gcc
--- a/makefile	Sat Jul 28 01:59:45 2012 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-T= lxp
-V= 1.3.0
-CONFIG= ./config
-
-include $(CONFIG)
-
-OBJS= src/lxplib.o
-lib: src/$(LIBNAME)
-
-src/$(LIBNAME) : $(OBJS)
-	export MACOSX_DEPLOYMENT_TARGET="10.3"; $(CC) -o src/$(LIBNAME) $(LIB_OPTION) $(OBJS) -lexpat
-
-install:
-	mkdir -p $(LUA_LIBDIR)
-	cp src/$(LIBNAME) $(LUA_LIBDIR)
-	cd $(LUA_LIBDIR); ln -f -s $(LIBNAME) $T.so
-	mkdir -p $(LUA_DIR)/$T
-	cp src/$T/lom.lua $(LUA_DIR)/$T
-
-clean:
-	rm -f src/$(LIBNAME) $(OBJS)
-
-# $Id: makefile,v 1.33 2006/06/08 20:41:48 tomas Exp $

mercurial