blob: 85717c4d4ce1f5f8d920ccb120cf11248cb34959 [file] [log] [blame]
CC = gcc
LD = ld
KERNEL = /usr/src/linux
#KERNEL = /lib/modules/`uname -r`/build
ARCH = $(shell uname -m | sed -e s/i.86/i386/ -e s/sun4u/sparc64/)
ifeq ($(KERNEL)/.config,$(wildcard $(KERNEL)/.config))
include $(KERNEL)/.config
endif
CFLAGS = -D__KERNEL__ -I${KERNEL}/include -Wall \
-Wstrict-prototypes -Wno-trigraphs -O2 \
-fomit-frame-pointer -fno-common \
-fno-strict-aliasing -pipe -DMODULE
# comment this if you don't want debugging information
CFLAGS += -DDEBUG
# see if we need module versions
ifdef CONFIG_MODVERSIONS
CFLAGS += -DMODVERSIONS
endif
ifeq ($(ARCH),alpha)
CFLAGS += -mno-fp-regs -ffixed-8 -mcpu=ev5 -Wa,-mev6
LDFLAGS = -m elf64alpha
endif
ifeq ($(ARCH),sparc64)
CFLAGS += -mno-fpu -mtune=ultrasparc -mmedlow -ffixed-g4 \
-fcall-used-g5 -fcall-used-g7
LDFLAGS = -m elf_sparc64
endif
ifeq ($(ARCH),i386)
CFLAGS += -mpreferred-stack-boundary=2 -march=i586
LDFLAGS = -m elf_i386
endif
ifeq ($(ARCH), x86_64)
CFLAGS += -mno-red-zone -mcmodel=kernel -fno-reorder-blocks \
-finline-limit=2000 -fno-strength-reduce
LDFLAGS = -m elf_x86_64
endif
ifeq ($(ARCH),ia64)
CFLAGS += -ffixed-r13 -mfixed-range=f10-f15,f32-f127 \
-falign-functions=32
LDFLAGS = -m elf64_ia64
endif
.SUFFIXES: .o .c .h
TARGET = bios.o
OBJS = bios_core.o flashchips.o pcisets.o \
filesystem.o procfs.o programming.o
all: $(TARGET) comp
$(TARGET): $(OBJS)
$(LD) $(LDFLAGS) -r -o $(TARGET) $(OBJS)
clean:
-rm -f $(TARGET) $(OBJS) comp *.o
.c.o:
$(CC) $(INCLUDES) -c $(INCDIRS) $(CFLAGS) $(X_CFLAGS) $(DEBUGFLAGS) $*.c -o $@
comp: comp.c
$(CC) comp.c -O2 -o comp
strip comp
bios_core.o: bios_core.c bios.h pcisets.h flashchips.h programming.h
filesystem.o: filesystem.c bios.h pcisets.h flashchips.h programming.h
flashchips.o: flashchips.c bios.h flashchips.h
pcisets.o: pcisets.c bios.h pcisets.h flashchips.h programming.h
procfs.o: procfs.c bios.h pcisets.h flashchips.h programming.h
programming.o: programming.c bios.h pcisets.h flashchips.h programming.h