#
# Default target
#

default: gc.o

include ../config/common.mk

#
# compilation flags, etc.
#


CPPFLAGS = $(INCLUDE) $(CONFIG_CPPFLAGS) \
	-DPCR_NO_RENAME -DPCR_NO_HOSTDEP_ERR
#CFLAGS	= -DPCR -DSILENT $(CONFIG_CFLAGS)
CFLAGS	= -DPCR $(CONFIG_CFLAGS)
SPECIALCFLAGS = 	# For code involving asm's

ASPPFLAGS  = $(INCLUDE) $(CONFIG_ASPPFLAGS) \
	-DPCR_NO_RENAME -DPCR_NO_HOSTDEP_ERR -DASM

ASFLAGS	= $(CONFIG_ASFLAGS)

LDRFLAGS = $(CONFIG_LDRFLAGS)

LDFLAGS = $(CONFIG_LDFLAGS)

#
#
#
#
# BEGIN PACKAGE-SPECIFIC PART
#
#
#
#

# Fix to point to local pcr installation directory.
PCRDIR= ..

COBJ= alloc.o reclaim.o allchblk.o misc.o os_dep.o mark_rts.o headers.o mark.o obj_map.o pcr_interface.o blacklst.o finalize.o new_hblk.o real_malloc.o dyn_load.o dbg_mlc.o malloc.o stubborn.o checksums.o solaris_threads.o typd_mlc.o ptr_chck.o mallocx.o

CSRC= reclaim.c allchblk.c misc.c alloc.c mach_dep.c os_dep.c mark_rts.c headers.c mark.c obj_map.c pcr_interface.c blacklst.c finalize.c new_hblk.c real_malloc.c dyn_load.c dbg_mlc.c malloc.c stubborn.c checksums.c solaris_threads.c typd_mlc.c ptr_chck.c mallocx.c

SHELL= /bin/sh

default: gc.o

gc.o: $(COBJ) mach_dep.o
	$(LDR) $(CONFIG_LDRFLAGS) -o gc.o $(COBJ) mach_dep.o


mach_dep.o: mach_dep.c mips_mach_dep.s rs6000_mach_dep.s if_mach if_not_there
	rm -f mach_dep.o
	./if_mach MIPS "" as -o mach_dep.o mips_mach_dep.s
	./if_mach RS6000 "" as -o mach_dep.o rs6000_mach_dep.s
	./if_mach ALPHA "" as -o mach_dep.o alpha_mach_dep.s
	./if_mach SPARC SUNOS5 as -o mach_dep.o sparc_mach_dep.s
	./if_not_there mach_dep.o $(CC) -c $(SPECIALCFLAGS) mach_dep.c

if_mach: if_mach.c gcconfig.h
	$(CC) $(CFLAGS) -o if_mach if_mach.c

if_not_there: if_not_there.c
	$(CC) $(CFLAGS) -o if_not_there if_not_there.c