# Makefile para ficheros ejecutables # javg@tid.es # ################################################################################################### SHELL = /bin/sh CCOPT = -c LDOPT = -Ttext 0x100000 CC = gcc RM = rm -f CP = cp -f LD = ld DIRSOURCES = . DIROBJECTS = . DIRHEADERS = . ################################################################################################### EXECUTABLE = ./kernel1 OBJECTS = $(DIROBJECTS)/kernel1.o \ $(DIROBJECTS)/startup.O INCLUDE = -I$(DIRHEADERS) HEADERS = LIBS = ################################################################################################### # Targets # .PHONY: clean all: $(EXECUTABLE) clean: $(RM) $(DIROBJECTS)/*.o $(DIROBJECTS)/*.O $(DIROBJECTS)/*~ $(RM) $(EXECUTABLE) # Header files must exist! In other case this pattern rule is invalid $(DIROBJECTS)/%.o : %.c @echo " CC $@" @$(RM) $@ @$(CC) -o $@ $(CCOPT) $< $(DIROBJECTS)/%.O : %.S @echo " CC $@" @$(RM) $@ @$(CC) -o $@ $(CCOPT) $< $(EXECUTABLE): $(OBJECTS) @echo " LD $@" @$(RM) $@ @$(LD) -o $@ $(LDOPT) $^ mount ../floppy $(CP) $(EXECUTABLE) ../floppy/boot umount ../floppy