source: trunk/SConstruct @ 200

Last change on this file since 200 was 195, checked in by tim, 15 years ago

removed talloc from mainline build tree, opting instead to depend upon libtalloc-dev

win32 builds depend up on modified libtalloc stored outside of trunk

miscellaneous other build fixes

File size: 2.0 KB
Line 
1#cflags = '-std=gnu99 -pedantic -Wall'
2cflags = '-std=gnu99 -pedantic -Wall -ggdb'
3
4
5lib_src = ['lib/regfi.c',
6           'lib/winsec.c',
7           'lib/range_list.c',
8           'lib/lru_cache.c',
9           'lib/void_stack.c']
10
11env = Environment(CFLAGS=cflags,
12                  CPPPATH=['include', '/usr/local/include'],
13                  LIBPATH=['lib', '/usr/local/lib'],
14                  LIBS=['m', 'pthread', 'regfi', 'talloc'])
15
16
17# Libraries
18libregfi_static = env.Library(lib_src)
19libregfi = env.SharedLibrary(lib_src, LIBS=['m','pthread'])
20
21
22# Executables
23reglookup = env.Program(['src/reglookup.c'])
24reglookup_recover = env.Program(['src/reglookup-recover.c'])
25
26
27# Documentation
28#  This only needs to be run during the release/packaging process
29man_fixup = "|sed 's/.SH DESCRIPTION/\\n.SH DESCRIPTION/'"
30man_builder = Builder(action='docbook2x-man --to-stdout $SOURCE'
31                      + man_fixup + '| gzip -9 > $TARGET',
32                      suffix = '.gz',
33                      src_suffix = '.docbook')
34env['BUILDERS']['ManPage'] = man_builder
35
36man_reglookup = env.ManPage('doc/reglookup.1.docbook')
37man_reglookup_recover = env.ManPage('doc/reglookup-recover.1.docbook')
38man_reglookup_timeline = env.ManPage('doc/reglookup-timeline.1.docbook')
39
40
41# Installation
42prefix='/usr/local/'
43env.Install(prefix+'bin', [reglookup, reglookup_recover, 'bin/reglookup-timeline'])
44env.Install(prefix+'lib', [libregfi, libregfi_static])
45env.Install(prefix+'include/regfi', Glob('include/*.h'))
46env.Install(prefix+'man/man1', [man_reglookup, man_reglookup_recover,
47                                man_reglookup_timeline])
48
49
50# User Friendly Targets
51env.Alias('libregfi', libregfi)
52env.Alias('reglookup', reglookup)
53env.Alias('reglookup-recover', reglookup_recover)
54env.Alias('bin', [reglookup_recover, reglookup])
55env.Alias('doc', [man_reglookup,man_reglookup_recover,man_reglookup_timeline])
56env.Alias('install', [prefix+'bin',
57                      prefix+'lib',
58                      prefix+'include/regfi',
59                      prefix+'man'])
60
61Default('bin', libregfi)
Note: See TracBrowser for help on using the repository browser.