# $Id: Makefile.in,v 1.5 2000/12/07 16:08:28 msw Exp $

srcdir=@srcdir@
VPATH=@srcdir@
prefix=@prefix@
exec_prefix=@exec_prefix@
sbindir=@sbindir@
mandir=@mandir@

ARCH		= @ARCH@
CC		= @CC@
CFLAGS		= @CFLAGS@
LDFLAGS		= @LDFLAGS@
HOSTCC		= @HOSTCC@
HOSTCFLAGS	= @HOSTCFLAGS@
AR		= @AR@
RANLIB		= @RANLIB@
INSTALL		= @INSTALL_LOCAL@
STRIP		= @STRIP@

DEFSNOARCH	:= -I$(srcdir)/../include -D_GNU_SOURCE @DEFS@ $(EXTRA_DEFS)
DEFS		:= -DELF_MACHINE_H='"elf_$(ARCH).h"' -DARCH_$(ARCH)

LIBOBJ_OBJS	:= obj_kallsyms.o obj_common.o obj_load.o obj_reloc.o obj_$(ARCH).o
LIBOBJ_SRCS	:= $(LIBOBJ_OBJS:.o=.c)

ifeq ($(ARCH),sparc)
ifeq (@COMMON_sparc@,yes)
LIBOBJ_OBJS	+= obj_kallsyms_64.o obj_common_64.o obj_load_64.o obj_reloc_64.o obj_sparc64_64.o
LIBOBJ_SRCS	+= obj_sparc64.c
DEFSNOARCH	+= -DCOMMON_3264
DEFS		+= -DONLY_32
DEFS64		:= -DONLY_64 -DELF_MACHINE_H='"elf_sparc64.h"' -DARCH_sparc64
endif
endif

%.o: %.c
	$(CC) $(CFLAGS) $(DEFSNOARCH) $(DEFS) -c -o $@ $<

# Rule to make 64 bit versions, only used when building common code for
# 32 and 64 bit systems.
%_64.o: %.c
	$(CC) $(CFLAGS) $(DEFSNOARCH) $(DEFS64) -c -o $@ $<

######################################################################

all: .depend libobj.a

libobj.a: $(LIBOBJ_OBJS)
	$(AR) rv $@ $?
	$(RANLIB) $@

clean:
	rm -f *.o *.a

realclean: clean
	rm -f .depend

distclean: realclean
	rm -f Makefile

install-bin: all

dep depend .depend: $(LIBOBJ_SRCS)
	$(CC) -M $(CFLAGS) $(DEFSNOARCH) $(DEFS) $^ > .depend

ifeq (.depend,$(wildcard .depend))
include .depend
endif
