/[cmucl]/src/lisp/GNUmakefile
ViewVC logotype

Contents of /src/lisp/GNUmakefile

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.36 - (hide annotations)
Thu Jul 29 01:51:12 2010 UTC (3 years, 8 months ago) by rtoy
Branch: MAIN
Changes since 1.35: +7 -4 lines
Change how Solaris executables set up builtin_image_flag.  Instead of
having the address of builtin_image_flag set to some (random) address
of mapped memory that is non-zero, we add a special file to lisp.a
that defines builtin_image_flag to 1.

lisp/Config.sparc_common:
o Define EXEC_FINAL_OBJ

lisp/GNUmakefile:
o Make lisp.a depend on EXEC_FINAL_OBJ
o On Solaris, add EXEC_FINAL_OBJ to lisp.a.

tools/SunOS-cmucl-linker-script:
o Remove the line setting the address of builtin_image_flag.

tools/linker.sh:
o For Solaris, we don't need to define BIFLAG; the builtin_image_flag
  is automatically set correctly by linking in lisp.a
1 rtoy 1.36 # $Header: /tiger/var/lib/cvsroots/cmucl/src/lisp/GNUmakefile,v 1.36 2010/07/29 01:51:12 rtoy Exp $
2 wlott 1.1
3 rtoy 1.35 all: lisp.nm
4 wlott 1.1
5 gerd 1.22 -include internals.inc
6 wlott 1.1 include Config
7    
8 hallgren 1.5 SRCS = lisp.c coreparse.c alloc.c monitor.c print.c interr.c \
9 ram 1.12 vars.c parse.c interrupt.c search.c validate.c globals.c \
10 wlott 1.1 dynbind.c breakpoint.c regnames.c backtrace.c save.c purify.c \
11 fgilham 1.26 runprog.c time.c exec-init.c \
12 ram 1.12 ${ARCH_SRC} ${ASSEM_SRC} ${OS_SRC} ${GC_SRC}
13 ram 1.10
14 wlott 1.11 OBJS = $(patsubst %.c,%.o,$(patsubst %.S,%.o,$(patsubst %.s,%.o,$(SRCS))))
15 wlott 1.1
16     ### Don't look in RCS for the files, because we might not want the latest.
17     %: RCS/%,v
18 pw 1.14
19 fgilham 1.24 lisp.nm: lisp lisp.a
20 hallgren 1.5 echo 'Map file for lisp version ' `cat version` > ,lisp.nm
21 toy 1.18 $(NM) lisp | grep -v " [F] " >> ,lisp.nm
22 wlott 1.1 mv ,lisp.nm lisp.nm
23    
24 rtoy 1.29 version.o : version.c version
25 hallgren 1.5 echo '1 + ' `cat version` | bc > ,version
26 wlott 1.1 mv ,version version
27 rtoy 1.32 $(CC) ${CFLAGS} $(CPPFLAGS) -DVERSION=`cat version` -c $<
28 rtoy 1.29
29     lisp: ${OBJS} version.o
30 ram 1.8 $(CC) -g ${OS_LINK_FLAGS} -o ,lisp \
31 wlott 1.1 ${OBJS} version.o \
32     ${OS_LIBS} -lm
33     mv -f ,lisp lisp
34    
35 rtoy 1.25 # Create a library out of all the object files so we can build an
36     # executable. However, for Solaris, we need to remove exec-init.o
37 rtoy 1.36 # because the linker will define symbols with the correct addresses.
38     # Also, we need to add EXEC_FINAL on Solaris to define
39     # builtin_image_flag with the correct value.
40     lisp.a: version.o ${OBJS} ${EXEC_FINAL_OBJ}
41     ar crs lisp.a ${OBJS} version.o
42 rtoy 1.25 ifdef FEATURE_SOLARIS
43     ar d lisp.a exec-init.o
44 rtoy 1.36 ar r lisp.a ${EXEC_FINAL_OBJ}
45 rtoy 1.25 endif
46 fgilham 1.24
47 wlott 1.1 version:
48     echo 0 > version
49    
50 gerd 1.22 internals.h internals.inc:
51 wlott 1.1 @echo "You must run genesis to create internals.h!"
52     @false
53    
54     clean:
55 wlott 1.4 rm -f Depends *.o lisp lisp.nm core
56 rtoy 1.30 echo 'Map file for lisp version 0' > lisp.nm
57 wlott 1.1
58 pmai 1.16 depend: Depends
59    
60     Depends: ${SRCS}
61 toy 1.21 $(DEPEND) ${DEPEND_FLAGS} ${CFLAGS} ${CPPFLAGS} $^ > ,depends
62 wlott 1.1 mv ,depends Depends
63    
64 cshapiro 1.23 -include Depends
65 rtoy 1.34
66     # Find all directories in ../i18n/locale. These are the locales we
67     # currently support.
68    
69     # This would be a nice way to do it so we don't have to keep track of
70     # the directories, but Solaris' find doesn't grok -depth 1
71     #LOCALES=$(patsubst ../i18n/locale/%, %, $(shell find ../i18n/locale -type d -depth 1))
72     LOCALES=en@piglatin ko
73    
74     # Convert locale names to the appropriate path where we want the mo files to go.
75     LOCALE_DIRS = $(patsubst %, i18n/locale/%/LC_MESSAGES, $(LOCALES))
76    
77     translations:
78     for pot in ../../src/i18n/locale/*.pot; do \
79     for po in $(LOCALE_DIRS); do \
80     d=`dirname $$pot`; \
81     f=`basename $$pot .pot`; \
82     touch ../../src/$$po/$$f.po; \
83     echo ; \
84     echo '***' Processing $$f.pot: $$po; \
85     msgmerge -v ../../src/$$po/$$f.po $$pot -o ../../src/$$po/$$f.po; \
86     msgfmt -v ../../src/$$po/$$f.po -o ../$$po/$$f.mo; \
87     done; done
88    
89     .PHONY : translations
90    

  ViewVC Help
Powered by ViewVC 1.1.5