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