-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
155 lines (108 loc) · 4.95 KB
/
Makefile
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
#basic makefile for nsm-flatpak
objects=nsm.o ConsoleColor.o DateTimeInfo.o Directory.o Expr.o ExprtkFns.o Filename.o FileSystem.o Getline.o GitInfo.o HashTk.o Lolcat.o LuaFns.o Lua.o NumFns.o Pagination.o Parser.o Path.o ProjectInfo.o Quoted.o StrFns.o SystemInfo.o Title.o TrackedInfo.o Variables.o WatchList.o
cppfiles=nsm.cpp ConsoleColor.cpp DateTimeInfo.cpp Directory.cpp Expr.cpp ExprtkFns.cpp Filename.cpp FileSystem.cpp Getline.cpp GitInfo.cpp hashtk/HashTk.cpp Lolcat.cpp LuaFns.cpp Lua.cpp NumFns.cpp Pagination.cpp Parser.cpp Path.cpp ProjectInfo.cpp Quoted.cpp StrFns.cpp SystemInfo.cpp Title.cpp TrackedInfo.cpp Variables.cpp WatchList.cpp
CXX?=g++
CXXFLAGS=-D__BUNDLED__ -std=c++11 -Wall -Wextra -pedantic -O3 -s -Dexprtk_disable_caseinsensitivity
LINK=-pthread ./LuaJIT/src/libluajit.a -ldl
prefix=/app
datadir=share
BINDIR=${prefix}/bin
INCDIR=${prefix}/include
LIBDIR=${prefix}/lib
###
all: make-luajit nsm
###
make-luajit:
cd LuaJIT && make
###
HashTk.o: hashtk/HashTk.cpp hashtk/HashTk.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
###
nsm: $(objects)
$(CXX) $(CXXFLAGS) $(objects) -o nsm $(LINK)
nsm.o: nsm.cpp GitInfo.o ProjectInfo.o
$(CXX) $(CXXFLAGS) -c -o $@ $<
ProjectInfo.o: ProjectInfo.cpp ProjectInfo.h GitInfo.o Parser.o WatchList.o Timer.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
GitInfo.o: GitInfo.cpp GitInfo.h ConsoleColor.o FileSystem.o
$(CXX) $(CXXFLAGS) -c -o $@ $<
Parser.o: Parser.cpp Parser.h DateTimeInfo.o Expr.o ExprtkFns.o Getline.o HashTk.o LuaFns.o Lua.o Pagination.o SystemInfo.o TrackedInfo.o Variables.o
$(CXX) $(CXXFLAGS) -c -o $@ $<
WatchList.o: WatchList.cpp WatchList.h FileSystem.o
$(CXX) $(CXXFLAGS) -c -o $@ $<
Getline.o: Getline.cpp Getline.h ConsoleColor.o FileSystem.o Lolcat.o StrFns.o Consts.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
Lolcat.o: Lolcat.cpp Lolcat.h FileSystem.o
$(CXX) $(CXXFLAGS) -c -o $@ $<
LuaFns.o: LuaFns.cpp LuaFns.h Lua.o ConsoleColor.o ExprtkFns.o FileSystem.o Path.o Quoted.o Variables.o Consts.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
Lua.o: Lua.cpp Lua.h StrFns.o LuaJIT/src/lua.hpp Lua-5.3/src/lua.hpp
$(CXX) $(CXXFLAGS) -c -o $@ $<
ExprtkFns.o: ExprtkFns.cpp ExprtkFns.h Expr.o FileSystem.o Quoted.o Variables.o Consts.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
Expr.o: Expr.cpp Expr.h exprtk/exprtk.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
FileSystem.o: FileSystem.cpp FileSystem.h Path.o SystemInfo.o
$(CXX) $(CXXFLAGS) -c -o $@ $<
Pagination.o: Pagination.cpp Pagination.h Path.o
$(CXX) $(CXXFLAGS) -c -o $@ $<
DateTimeInfo.o: DateTimeInfo.cpp DateTimeInfo.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
TrackedInfo.o: TrackedInfo.cpp TrackedInfo.h Path.o Title.o
$(CXX) $(CXXFLAGS) -c -o $@ $<
Variables.o: Variables.cpp Variables.h NumFns.o Path.o StrFns.o
$(CXX) $(CXXFLAGS) -c -o $@ $<
NumFns.o: NumFns.cpp NumFns.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
Path.o: Path.cpp Path.h ConsoleColor.o Directory.o Filename.o SystemInfo.o
$(CXX) $(CXXFLAGS) -c -o $@ $<
StrFns.o: StrFns.cpp StrFns.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
Directory.o: Directory.cpp Directory.h Quoted.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
Filename.o: Filename.cpp Filename.h Quoted.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
SystemInfo.o: SystemInfo.cpp SystemInfo.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
Title.o: Title.cpp Title.h ConsoleColor.o Quoted.o
$(CXX) $(CXXFLAGS) -c -o $@ $<
ConsoleColor.o: ConsoleColor.cpp ConsoleColor.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
Quoted.o: Quoted.cpp Quoted.h
$(CXX) $(CXXFLAGS) -c -o $@ $<
###
install:
mkdir /app/include
install -D LuaJIT/src/lauxlib.h ${INCDIR}/lauxlib.h
install -D LuaJIT/src/lua.h ${INCDIR}/lua.h
install -D LuaJIT/src/lua.hpp ${INCDIR}/lua.hpp
install -D LuaJIT/src/luaconf.h ${INCDIR}/luaconf.h
install -D LuaJIT/src/lualib.h ${INCDIR}/lualib.h
install -D LuaJIT/src/luajit ${BINDIR}/luajit
install -D nsm ${BINDIR}/nsm
install -Dm644 cc.nift.nsm.appdata.xml $(prefix)/$(datadir)/appdata/cc.nift.nsm.appdata.xml
install -Dm644 cc.nift.nsm.desktop $(prefix)/$(datadir)/desktop/cc.nift.nsm.desktop
install -Dm644 cc.nift.nsm64.png $(prefix)/$(datadir)/icons/hicolor/64x64/apps/cc.nift.nsm.png
install -Dm644 cc.nift.nsm128.png $(prefix)/$(datadir)/icons/hicolor/128x128/apps/cc.nift.nsm.png
install -Dm644 cc.nift.nsm256.png $(prefix)/$(datadir)/icons/hicolor/256x256/apps/cc.nift.nsm.png
install -Dm644 cc.nift.nsm512.png $(prefix)/$(datadir)/icons/hicolor/512x512/apps/cc.nift.nsm.png
uninstall:
rm ${INCDIR}/lauxlib.h
rm ${INCDIR}/lua.h
rm ${INCDIR}/lua.hpp
rm ${INCDIR}/luaconf.h
rm ${INCDIR}/lualib.h
rm ${BINDIR}/luajit
rm ${BINDIR}/nsm
rm $(prefix)/$(datadir)/appdata/cc.nift.nsm.appdata.xml
rm $(prefix)/$(datadir)/desktop/cc.nift.nsm.desktop
rm $(prefix)/$(datadir)/icons/hicolor/64x64/apps/cc.nift.nsm.png
rm $(prefix)/$(datadir)/icons/hicolor/128x128/apps/cc.nift.nsm.png
rm $(prefix)/$(datadir)/icons/hicolor/256x256/apps/cc.nift.nsm.png
rm $(prefix)/$(datadir)/icons/hicolor/512x512/apps/cc.nift.nsm.png
clean:
rm -f $(objects) exprtk.o
cd LuaJIT && make clean
clean-all:
rm -f $(objects) exprtk.o nsm
cd LuaJIT && make clean