blob: 09cc5d6a61a09dc0e41fc9dcb98bb411ee3db3b6 (
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
include Balau/common.mk
ifeq ($(DEBUG),)
CPPFLAGS += -g3 -gdwarf-2 -O3 -DNDEBUG
LDFLAGS += -g3 -gdwarf-2
else
CPPFLAGS += -g3 -gdwarf-2 -DDEBUG
LDFLAGS += -g3 -gdwarf-2
endif
INCLUDES = includes Balau/includes Balau/libcoro Balau/libeio Balau/libev Balau/LuaJIT/src Dalos-modules/includes
LIBS = z edit
ifeq ($(SYSTEM),Darwin)
LIBS += pthread iconv
CONFIG_H = Balau/darwin-config.h
endif
ifeq ($(SYSTEM),Linux)
LIBS += pthread dl
CONFIG_H = Balau/linux-config.h
endif
CPPFLAGS_NO_ARCH += $(addprefix -I, $(INCLUDES)) -fexceptions -imacros $(CONFIG_H)
CPPFLAGS += $(CPPFLAGS_NO_ARCH) $(ARCH_FLAGS)
LDFLAGS += $(ARCH_FLAGS)
LDLIBS = $(addprefix -l, $(LIBS))
vpath %.cc src Dalos-modules/src
DALOS_CLI_SOURCES = \
Dalos-cli.cc \
\
Readline.cc \
LuaLoad.cc \
ALL_OBJECTS = $(addsuffix .o, $(notdir $(basename $(DALOS_CLI_SOURCES))))
ALL_DEPS = $(addsuffix .dep, $(notdir $(basename $(DALOS_CLI_SOURCES))))
TARGET=Dalos-cli.$(BINEXT)
all: dep Balau $(TARGET)
strip: $(TARGET)
$(STRIP) $(TARGET)
Balau:
$(MAKE) -C Balau
tests:
$(MAKE) -C Balau tests
Balau/libBalau.a:
$(MAKE) -C Balau
$(TARGET): Balau/libBalau.a $(ALL_OBJECTS)
$(LD) $(LDFLAGS) -o $@ $(ALL_OBJECTS) ./Balau/libBalau.a ./Balau/LuaJIT/src/libluajit.a $(LDLIBS)
dep: $(ALL_DEPS)
%.dep : %.cc
$(CXX) $(CXXFLAGS) $(CPPFLAGS_NO_ARCH) -M $< > $@
%.dep : %.c
$(CC) $(CFLAGS) $(CPPFLAGS_NO_ARCH) -M $< > $@
-include $(ALL_DEPS)
clean:
rm -f $(ALL_OBJECTS) $(ALL_DEPS) $(TARGET)
$(MAKE) -C Balau clean
deepclean:
git clean -f -d -x
git submodule foreach git clean -f -d -x
git submodule foreach git submodule foreach git clean -f --d -x
git reset --hard HEAD
git submodule foreach git reset --hard HEAD
git submodule foreach git submodule foreach git reset --hard HEAD
.PHONY: clean deepclean strip Balau tests all
|