File: strip_makefiles.sh

package info (click to toggle)
gnustep-make 2.8.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 3,300 kB
  • sloc: sh: 4,483; objc: 952; perl: 65; makefile: 35
file content (43 lines) | stat: -rwxr-xr-x 1,630 bytes parent folder | download | duplicates (9)
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
35
36
37
38
39
40
41
42
43
#!/bin/sh
# strip_makefiles.sh
#
# Copyright (C) 2003 Free Software Foundation, Inc.
#
# Author: Nicola Pero <n.pero@mi.flashnet.it>
# Date: October 2003
#
# This file is part of the GNUstep Makefile Package.
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version.
# 
# You should have received a copy of the GNU General Public
# License along with this library; see the file COPYING.
# If not, write to the Free Software Foundation,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

# This script "strips" the makefiles and shell scripts.

# By "stripping" a makefile we mean removing all comments, and all
# empty lines.  This reduces considerably the size of makefiles and
# the amount of data that each make invocation has to read; the
# makefiles execute slightly faster.  You shouldn't over-estimate the
# performance issue though - stripped makefiles execute only 5% faster
# on my machine.

# The disadvantage of stripped makefiles is that we remove comments
# and makefiles become almost unreadable.

for makefile in *.make Master/*.make Instance/*.make Instance/Shared/*.make Instance/Documentation/*.make; do
  sed -e '/^ *#/d' -e '/^$/d' ${makefile} > ${makefile}.stripped;
  mv ${makefile}.stripped ${makefile};
done

for shell_script in *.sh *.csh; do
  sed -e '/^ *#/d' -e '/^$/d' ${shell_script} > ${shell_script}.stripped;
  mv ${shell_script}.stripped ${shell_script};
  chmod 755 ${shell_script};
done