Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[ ***
- ** Tupdefault.lus **
- ]]
- sources = {}
- test_src = {}
- objects = {}
- test_obj = {}
- for index, filename in ipairs(tup.glob('*.cc')) do
- if not string.find(filename, 'flycheck_') then
- if not string.find(filename, 'Test%.') then
- sources += filename
- objects += string.gsub(filename,'%.cc$','.o')
- -- library = true
- else
- -- library = false
- test_src += filename
- test_obj += string.gsub(filename, '%.cc$', '.o')
- end
- end
- end
- compile (sources)
- if (#objects) then
- static_libs += archive (objects)
- shared_libs += make_shared (objects)
- end
- if (#test_obj) then
- test_objects += objects
- end
- --[[ ***
- ** Tuprules.lus **
- ]]
- CCACHE = 'ccache '
- CXX = 'clang++ '
- AR = 'ar'
- LD = 'gold'
- libsBase = tup.getcwd() .. '/libs/'
- INCLUDE = {
- "-I" .. libsBase .. "core",
- "-I" .. libsBase .. "parser" "-I" .. libsBase .. "../../include",
- "-I" .. libsBase .. "../../include/gmock/include",
- "-I" .. libsBase .. "../../include/gtest/include",
- "-I" .. libsBase .. "../../include/Eigen"
- }
- CXXFLAGS = {
- "-std=c++11 ",
- "-fPIC ",
- "-Wall",
- "-g",
- "-O0",
- "-DMKL_ILP64",
- "-Qunused-arguments",
- "-fcolor-diagnostics",
- " " .. tostring(INCLUDE)
- }
- compile_command = ' ' .. CCACHE .. ' ' .. CXX .. ' ' .. table.concat(CXXFLAGS, ' ') .. ' -c %f -o %o '
- archive_command = ' ' .. AR .. ' crs %o %f'
- function compile (sources)
- local my_objects = {}
- for index, filename in ipairs (sources) do
- new_obj += tup.frule{
- inputs = {filename},
- command = compile_command,
- outputs = {'%B.o'}
- }
- my_objects += new_obj
- end
- return my_objects
- end
- function archive (objects)
- -- !lib = |> $(AR) crs %o %f |> lib%d.a | $(LIB_DIR)/<libs>
- return tup.frule{
- inputs = objects,
- command = archive_command,
- outputs = {'lib%d.a'}
- }
- end
- function make_shared (objects)
- -- !slib = |> $(CXX) -shared -o %o %f -Wl,-soname,lib%d.so |> $(LIB_DIR)/../../lib/lib%d.so | $(LIB_DIR)/<dyn_libs>
- end
Advertisement
Add Comment
Please, Sign In to add comment