PROJECT = 'rs232' INITLAKEFILE() DEFINES = L{DEFINES, 'RS232_EXPORT'} luars232 = c.shared{'core', src = { J('src', 'rs232.c'), J('src', IF(WINDOWS, 'rs232_windows.c', 'rs232_posix.c')), J('bindings', 'lua', 'luars232.c'), }, incdir = 'include', needs = LUA_NEED, defines = DEFINES, dynamic = DYNAMIC, strip = true, } target('build', luars232) install = target('install', { file.group{odir=J(LIBDIR, 'rs232'); src = luars232 }; file.group{odir=LIBDIR; src = J('bindings', 'lua', 'rs232.lua'), recurse = true }; file.group{odir=TESTDIR; src = J('bindings', 'lua', 'test'), recurse = true }; }) target('test', install, function() if spawn(J(TESTDIR, 'testsrv.lua'), TESTDIR) then run_test(TESTDIR, J(TESTDIR, 'utestcli.lua')) end if spawn(J(TESTDIR, 'testsrv_rs232.lua'), TESTDIR) then run_test(TESTDIR, J(TESTDIR, 'utestcli_rs232.lua')) end if not test_summary() then quit("test fail") end end)