SubDir TOP data ;
-IMAGEPATHS =
- images
- images/background
- images/fonts
- images/highscore
- images/icons
- images/intro
- images/leveleditor
- images/map
- images/shared
- images/shared/smalltux
- images/shared/bigtux
- images/status
- images/tilesets
- images/title
- images/worldmap
-;
+rule recursive-glob
+{
+ local result ;
+ result += $(<) ;
+ local fullname ;
+ local contents = [ GLOB [ ConcatDirs $(SUBDIR) $(<) ] : $(>) ] ;
+ for fullname in $(contents)
+ {
+ local split-path = [ MATCH ^$(SUBDIR)/(.*)$ : $(fullname) ] ;
+ local name = $(split-path[1]) ;
+ if ! ( $(name:D=) in . .. .svn ) {
+ result += [ recursive-glob $(name) : $(>) ] ;
+ }
+ }
+ return $(result) ;
+}
+
+IMAGEPATHS = [ recursive-glob images : * ] ;
for p in $(IMAGEPATHS) {
InstallData
- [ Wildcard $(p) : *.png *.jpg *.xpm *.strf *.ico *.stgt *.stwt ]
+ [ Wildcard $(p) : *.png *.jpg *.xpm *.strf *.sprite *.ico *.stgt *.stwt ]
: $(p)
;
}
LEVELPATHS =
levels/bonus1
+ levels/bonus2
levels/contribs
levels/misc
levels/test
levels/world1
levels/world2
- levels/worldmap
;
for p in $(LEVELPATHS) {
- InstallData [ Wildcard $(p) : info *.stl *.stwm ] : $(p) ;
-}
-InstallData [ Wildcard *.txt ] ;
-InstallData [ Wildcard music : *.mod *.ogg ] : music ;
-InstallData [ Wildcard sound : *.wav ] : sound ;
+ InstallData [ Wildcard $(p) : info *.nut *.stl *.stwm *.txt *.po *.pot README ] : $(p) ;
+ local translatable_lisp = [ Wildcard $(p) : info *.stl *.stwm *.txt ] ;
+ local translatable_squirrel = [ Wildcard $(p) : *.nut ] ;
+ SEARCH on $(translatable_lisp) = $(SEARCH_SOURCE) ;
+ SEARCH on $(translatable_squirrel) = $(SEARCH_SOURCE) ;
+ MakePot $(SUBDIR)/$(p)/messages.pot : $(translatable_lisp) ;
+ XGETTEXT_FLAGS on $(SUBDIR)/$(p)/messages.pot += --keyword='_:1' --language=Lisp --sort-by-file ;
+}
+InstallData [ Wildcard *.txt *.po ] ;
+InstallData [ Wildcard music : *.ogg ] : music ;
+InstallData [ Wildcard scripts : *.nut ] : scripts ;
+InstallData [ Wildcard speech : *.ogg ] : speech ;
+InstallData [ Wildcard sounds : *.wav *.ogg ] : sounds ;
+InstallData [ Wildcard locale : *.po *.pot ] : locale ;