]> arthur.barton.de Git - bup.git/blob - Makefile
Move cmd-*.py to cmd/*-cmd.py.
[bup.git] / Makefile
1 OS:=$(shell uname | sed 's/[-_].*//')
2 CFLAGS=-Wall -g -O2 -Werror $(PYINCLUDE) -g
3 ifneq ($(OS),CYGWIN)
4   CFLAGS += -fPIC
5 endif
6 SHARED=-shared
7 SOEXT:=.so
8
9 ifeq (${OS},Darwin)
10   MACHINE:=$(shell arch)
11   CFLAGS += -arch $(MACHINE)
12   SHARED = -dynamiclib
13 endif
14 ifeq ($(OS),CYGWIN)
15   LDFLAGS += -L/usr/bin
16   EXT:=.exe
17   SOEXT:=.dll
18 endif
19
20 default: all
21
22 all: cmds bup lib/bup/_hashsplit$(SOEXT) \
23         Documentation/all
24         
25 %/all:
26         $(MAKE) -C $* all
27         
28 %/clean:
29         $(MAKE) -C $* clean
30
31 lib/bup/_hashsplit$(SOEXT): lib/bup/_hashsplit.c lib/bup/csetup.py
32         @rm -f $@
33         cd lib/bup && python csetup.py build
34         cp lib/bup/build/*/_hashsplit$(SOEXT) lib/bup/
35         
36 runtests: all runtests-python runtests-cmdline
37
38 runtests-python:
39         ./wvtest.py $(wildcard t/t*.py)
40         
41 runtests-cmdline: all
42         t/test.sh
43         
44 stupid:
45         PATH=/bin:/usr/bin $(MAKE) test
46         
47 test: all
48         ./wvtestrun $(MAKE) runtests
49
50 %: %.o
51         $(CC) $(CFLAGS) (LDFLAGS) -o $@ $^ $(LIBS)
52         
53 bup: main.py
54         rm -f $@
55         ln -s $< $@
56         
57 cmds: $(patsubst cmd/%-cmd.py,cmd/bup-%,$(wildcard cmd/*-cmd.py))
58
59 cmd/bup-%: cmd/%-cmd.py
60         rm -f $@
61         ln -s $*-cmd.py $@
62         
63 %: %.py
64         rm -f $@
65         ln -s $< $@
66         
67 bup-%: cmd-%.sh
68         rm -f $@
69         ln -s $< $@
70         
71 %.o: %.c
72         gcc -c -o $@ $< $(CPPFLAGS) $(CFLAGS)
73
74 clean: Documentation/clean
75         rm -f *.o *.so */*/*.so *.dll *.exe .*~ *~ */*~ */*/*~ \
76                 *.pyc */*.pyc */*/*.pyc\
77                 bup bup-* cmd/bup-* randomgen memtest \
78                 out[12] out2[tc] tags[12] tags2[tc]
79         rm -rf *.tmp build lib/bup/build