blob: 83294c40b7e3f0af8a55389de7cc9d7c989a5773 (
plain)
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
|
LIBBU:=$(foreach f,paramproc.h paramproc.cpp fstring.h fstring.cpp exceptions.h exceptions.cpp exceptionbase.cpp exceptionbase.h archive.cpp archive.h archival.cpp archival.h plugger.h plugger.cpp singleton.h hash.cpp hash.h file.h file.cpp stream.h stream.cpp list.h list.cpp set.h set.cpp trace.h trace.cpp,src/$f)
SRC:=$(sort $(wildcard src/*.cpp) $(patsubst src/%,src/bu/%,$(filter %.cpp,$(LIBBU))))
OBJ:=src/build.yy.o src/build.tab.o $(patsubst %.cpp,%.o,$(SRC))
REV:=$(shell svn info | grep "Revision" | cut -d\ -f2)
VER:=r$(REV)
PKG:=build-$(VER).tar.bz2
.PHONY: all extern clean distclean package
# .SILENT:
all: extern build
package: clean distclean extern $(PKG)
$(PKG):
mkdir build-$(VER)
mkdir build-$(VER)/src
mkdir build-$(VER)/src/bu
cp -a src/*.{cpp,h,y,l} build-$(VER)/src
cp -a src/bu/*.{cpp,h} build-$(VER)/src/bu
cp -a build.conf build-$(VER)
cp -a Makefile.slim build-$(VER)/Makefile
tar -c build-$(VER) | bzip2 -9 > $(PKG)
rm -Rf build-$(VER)
clean:
-rm -Rf build $(OBJ)
distclean:
-rm -Rf $(LIBBU)
-rm -Rf src/bu
extern: $(LIBBU)
$(LIBBU):
mkdir -p src/bu
wget -nv -Psrc/bu http://svn.xagasoft.com/libbu++/trunk/$@
build: src/build.yy.c src/build.tab.c $(OBJ)
g++ -ggdb -ldl -o build $(OBJ)
%.o: %.cpp
g++ -ggdb -Isrc -c -o $@ $<
%.o: %.c
g++ -ggdb -Isrc -c -o $@ $<
%.yy.c: %.l
flex --bison-bridge --bison-locations -o $@ $<
%.tab.c: %.y
bison -v -b$(patsubst %.tab.c,%,$@) $<
|