blob: c1cf095f4a264afd088532c19dfa5a6cf6cbfa3d (
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
|
LIBBU:=$(foreach f,paramproc.h paramproc.cpp fstring.h fstring.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 util.h fbasicstring.cpp fbasicstring.h sharedcore.cpp sharedcore.h archivebase.cpp archivebase.h util.h util.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):
if [ ! -f src/bu/$@ ]; then mkdir -p src/bu; wget -nv -Psrc/bu http://svn.xagasoft.com/libbu++/trunk/$@; fi
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,%,$@) $<
|