-
Notifications
You must be signed in to change notification settings - Fork 18
/
Nukefile
35 lines (28 loc) · 1.2 KB
/
Nukefile
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
;; source files
(set @m_files (filelist "^objc/.*.m$"))
(set @c_files (filelist "^src/.*.c$"))
(set @nu_files (filelist "^nu/.*nu$"))
(set SYSTEM ((NSString stringWithShellCommand:"uname") chomp))
(case SYSTEM
("Darwin"
(set @arch (list "x86_64"))
(set @cflags "-I ./src -g -std=gnu99 -fobjc-gc -DDARWIN")
(set @ldflags "-framework Foundation -framework Nu"))
("Linux"
(set @arch (list "i386"))
(set gnustep_flags ((NSString stringWithShellCommand:"gnustep-config --objc-flags") chomp))
(set gnustep_libs ((NSString stringWithShellCommand:"gnustep-config --base-libs") chomp))
(set @cflags "-I ./src -g -std=gnu99 -DLINUX -I/usr/local/include #{gnustep_flags}")
(set @ldflags "#{gnustep_libs} -lNu"))
(else nil))
;; framework description
(set @framework "NuMongoDB")
(set @framework_identifier "nu.programming.numongodb")
(set @framework_creator_code "????")
(set @public_headers (filelist "^headers/.*\.h$"))
(compilation-tasks)
(framework-tasks)
(task "clobber" => "clean" is
(SH "rm -rf #{@framework_dir}"))
(task "default" => "framework")
(task "doc" is (SH "nudoc"))