# Makefile for CPUID CC = /usr/bin/gcc LD = /usr/bin/ld PERL = /usr/bin/perl LDCONF = ld.conf CFLAGS = -Wall -Os -m32 -fno-reorder-functions -nostartfiles -nostdlib -fno-builtin -I. -I. LDFLAGS = -T $(LDCONF) -melf_i386 -s BOOTSECTORSRC = boot.S BOOTSECTOR = $(BOOTSECTORSRC:.S=.o) CFILES = entry.c interrupt.c memory.c video.c keyboard.c serial.c log.c string.c stdio.c malloc.c spinlock.c timer.c HFILES = cpuid.h string.h stdlib.h stdio.h spinlock.h SFILES = head.S igate.S OFILES = $(SFILES:.S=.o) $(CFILES:.c=.o) ASMFILES = $(CFILES:.c=.S) MAPFILE = boot.map SETSECTORS = $(PERL) setsectors.pl $(MAPFILE) .PHONY : all asm clean all : floppy.img floppy.img : boot dd if=/dev/zero of=$@ bs=512 count=2880 dd if=boot of=$@ bs=512 conv=notrunc boot : $(BOOTSECTOR) $(OFILES) $(HFILES) $(LD) $(LDFLAGS) $(BOOTSECTOR) $(OFILES) -o $@ -M >$(MAPFILE) $(SETSECTORS) asm : $(ASMFILES) %.o : %.S $(CC) -DASM $(CFLAGS) -c $< -o $@ %.S : %.c $(CC) $(CFLAGS) -S $< -o $@ clean : rm -f $(OFILES) $(ASMFILES) $(BOOTSECTOR) boot.map *~ boot floppy.img