1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
|
#
# LuaGnome: a binding of the Gnome family of libraries to Lua 5.1, including
# glib, gdk, gtk, atk, cairo and others.
# Copyright (C) Wolfgang Oertl 2005, 2009
#
# For copyright information, see doc/COPYING. For information how to build
# this library, see doc/INSTALL.
#
.PHONY: all tags doc clean mrproper tests wc size diff tar install
MAKEFLAGS +=-r --no-print-directory
ifneq ($(wildcard build/make.state),)
include build/make.state
endif
# first build the core module, the others depend on it.
all: build/make.state
@$(MAKE) -f src/gnome/Makefile
@for file in src/*/Makefile; do $(MAKE) -f $$file || break; done
clean mrproper:
@for file in src/*/Makefile; do $(MAKE) -f $$file $@; done
build/make.state:
$(error build/make.state not found. Please run configure)
# Requires an improved version of luadoc that can read C files
doc:
$H $(MAKE) -f doc/Makefile
tags:
ctags $$(find src include -name "*.[ch]")
wc:
wc src/*/*.{c,h,lua} script/*.lua lib/*.lua
size:
size -t build/$(ARCH)/*/*.so
tests:
tests/run-tests.sh
diff:
cvs diff -u | diffstat
tar:
(TODAY=`date +%Y-%m-%d`; D=lua-gnome-$$TODAY; \
cd ..; \
ln -s lua-gtk $$D; \
tar czvf lua-gnome-$$TODAY.tar.gz \
$$D/Makefile $$D/configure $$D/doc $$D/examples $$D/include \
$$D/lib $$D/script $$D/src $$D/tests $$D/lua-5.1 \
--exclude-from "$$D/private/prune-list" \
--exclude CVS; \
rm $$D; \
)
install:
@ $(MAKE) -f script/Makefile.common install
# type "make bit" to build the bit library from the included .c file.
bit: bit.so
bit.so: src/bit.c
cc -Wall -shared -o $@ $^
.DEFAULT:
@$(MAKE) -f src/$(MAKECMDGOALS)/Makefile
|