# -*- makefile -*- CFLAGS = -Dppc -g -Wall -O2 -no-cpp-precomp OS_SRC = bsd-os.c os-common.c ppc-darwin-os.c ppc-darwin-dlshim.c ppc-darwin-langinfo.c OS_LIBS = -lSystem -lc -lm CC = gcc ASSEM_SRC = ppc-assem.S ldso-stubs.S ARCH_SRC = ppc-arch.c CPP = cpp -no-cpp-precomp # KLUDGE: in OS X 10.3, Apple started putting the heap right where we # expect our read-only space mapped. This hack causes the linker to # place a zero-fill-on-demand segment in the same place and size as # read-only-space, which is the only thing capable of keeping malloc # out of this range." # # FIXME: "-Wl,-segaddr,SBCLRO,0x1000000" is output from # ppc-darwin-mkrospace (it depends on READ_ONLY_SPACE I believe) but it # is hard-coded here! OS_LINK_FLAGS = -dynamic -Wl,-segaddr,SBCLRO,0x1000000 -Wl,-seg1addr,0x5000000 $(if $(AFTER_GROVEL_HEADERS),ppc-darwin-rospace.o) GC_SRC= cheneygc.c CLEAN_FILES += ppc-darwin-mkrospace ppc-darwin-mkrospace: ppc-darwin-mkrospace.c $(CC) -o $@ $< ppc-darwin-rospace.o: ppc-darwin-mkrospace ./ppc-darwin-mkrospace .PHONY: after-grovel-headers # Rebuild the sbcl runtime to avoid Panther placing the heap where # it wants read only space (in the first 32 megabytes, where it # can be absolute-branched to with BA.) Must be done after # grovel-headers, because Apple's nm is broken. after-grovel-headers: ppc-darwin-rospace.o rm -f sbcl $(GNUMAKE) sbcl AFTER_GROVEL_HEADERS=1 # Fortunatly make-target-1.sh does a make clean all the time. # Otherwise we would have to make sure that sbcl gets rebuilt without # the readonlyspace hack before groveling headers again.