2 CFLAGS = -Dppc -g -Wall -O2 -no-cpp-precomp -fdollars-in-identifiers
3 OS_SRC = bsd-os.c os-common.c ppc-darwin-os.c ppc-darwin-dlshim.c ppc-darwin-langinfo.c
4 OS_LIBS = -lSystem -lc -lm
5 OS_OBJS = ppc-darwin-rospace.o
9 ASSEM_SRC = ppc-assem.S ldso-stubs.S
12 CPP = cpp -no-cpp-precomp
14 # KLUDGE: in OS X 10.3, Apple started putting the heap right where we
15 # expect our read-only space mapped. This hack causes the linker to
16 # place a zero-fill-on-demand segment in the same place and size as
17 # read-only-space, which is the only thing capable of keeping malloc
19 OS_LINK_FLAGS = -dynamic `cat ppc-darwin-link-flags` -twolevel_namespace -bind_at_load
23 CLEAN_FILES += ppc-darwin-mkrospace ppc-darwin-fix-rospace ppc-darwin-link-flags
25 ppc-darwin-mkrospace: ppc-darwin-mkrospace.c
26 $(CC) -g -Wall -pedantic -o $@ $<
28 ppc-darwin-fix-rospace: ppc-darwin-fix-rospace.c
29 $(CC) -g -Wall -pedantic -o $@ $<
31 ppc-darwin-rospace.o ppc-darwin-link-flags: ppc-darwin-mkrospace
32 ./ppc-darwin-mkrospace > ppc-darwin-link-flags
34 .PHONY: after-grovel-headers
36 # Fix the sbcl runtime to avoid Panther placing the heap where
37 # it wants read only space (in the first 32 megabytes, where it
38 # can be absolute-branched to with BA.) Must be done after
39 # grovel-headers, because Apple's nm is broken.
40 after-grovel-headers: ppc-darwin-fix-rospace
41 ./ppc-darwin-fix-rospace
43 # Fortunatly make-target-1.sh does a make clean all the time.
44 # Otherwise we would have to make sure that sbcl gets rebuilt without
45 # the readonlyspace hack before groveling headers again.