1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
VPATH = @srcdir@
srcdir = @srcdir@
include ../Makefile.common
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 obj_gpl_license.o
LIBOBJ_SRCS := $(LIBOBJ_OBJS:.o=.c)
# arch specific definitions for common 32/64 code
ifeq (@COMMON_sparc@,yes)
LIBOBJ_OBJS += obj_sparc64_64.o
LIBOBJ_SRCS += obj_sparc64.c
DEFS64 := -DELF_MACHINE_H='"elf_sparc64.h"' -DARCH_sparc64
endif
ifeq (@COMMON_hppa@,yes)
LIBOBJ_OBJS += obj_hppa64_64.o
LIBOBJ_SRCS += obj_hppa64.c
DEFS64 := -DELF_MACHINE_H='"elf_hppa64.h"' -DARCH_hppa64
endif
ifeq (@COMMON_ppc@,yes)
LIBOBJ_OBJS += obj_ppc64_64.o
LIBOBJ_SRCS += obj_ppc64.c
DEFS64 := -DELF_MACHINE_H='"elf_ppc64.h"' -DARCH_ppc64
endif
ifeq (@COMMON_s390@,yes)
LIBOBJ_OBJS += obj_s390x_64.o
LIBOBJ_SRCS += obj_s390x.c
DEFS64 := -DELF_MACHINE_H='"elf_s390x.h"' -DARCH_s390x
endif
ifeq (@COMMON_i386@,yes)
LIBOBJ_OBJS += obj_x86_64_64.o
LIBOBJ_SRCS += obj_x86_64.c
DEFS64 := -DELF_MACHINE_H='"elf_x86_64.h"' -DARCH_x86_64
endif
# arch independent definitions for common 32/64 code
ifdef DEFS64
LIBOBJ_OBJS += obj_kallsyms_64.o obj_common_64.o obj_load_64.o obj_reloc_64.o obj_gpl_license_64.o
DEFSNOARCH += -DCOMMON_3264
DEFS += -DONLY_32
DEFS64 += -DONLY_64 $(call check_gcc,-malign-double,)
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
|