Reorganize the files.
[monolithium.git] / drivers / serial / Makefile
index 1b5fa27a429a55b5745e1d1dd7c55d6e67902d05..af132e001e7fb6a0287e6dd3fa76dae137584abd 100644 (file)
 #
 
 # Settings
-DEBUG  = yes
-
-# Compilers and tools
-CC = i686-elf-gcc
-ASM = nasm
-LINK = i686-elf-ld
-
-# Directories
-SRCDIR = src
-OBJDIR = obj
-DEPDIR = dep
-
-LIBGCC_DIR = $(shell $(CC) -print-file-name=)
+DEBUG := yes
 
 # Flags
-CFLAGS = -Wall -Werror -Wno-strict-aliasing -ffreestanding -nostdlib -I ../.. -I ../../kernel/include -I ../../crt/include
-ASMFLAGS = -felf
-LDFLAGS = -shared
-
-ifeq ($(DEBUG), yes)
-    CFLAGS += -g
-else
-    CFLAGS += -O3
-endif
+CFLAGS   := -Wall -Werror -Wno-strict-aliasing -ffreestanding -nostdlib -I ../.. -I ../../kernel/include -I ../../libraries/mlcrt/include
+ASMFLAGS := -felf
 
 # Input and output files
-SOURCES =  $(wildcard $(SRCDIR)/*.c)
-SOURCES += $(wildcard $(SRCDIR)/*.asm)
-DEPENDS = $(shell find $(DEPDIR) -type f -name \*.d)
-OBJECTS = $(patsubst $(SRCDIR)/%.c, $(OBJDIR)/%.o, $(patsubst $(SRCDIR)/%.asm, $(OBJDIR)/%.o, $(SOURCES)))
-
-.PHONY: all clean
-
-all: $(OBJDIR) $(DEPDIR) serial.drv
-
-clean:
-       find $(OBJDIR) -name \*.o -delete
-       find $(DEPDIR) -name \*.d -delete
-       rm -f serial.drv
-
--include $(DEPENDS)
-
-$(OBJDIR):
-       mkdir -p $(OBJDIR)
-
-$(DEPDIR):
-       mkdir -p $(DEPDIR)
-
-$(OBJDIR)/%.o: $(SRCDIR)/%.c Makefile
-       mkdir -p $(dir $@)
-       mkdir -p $(dir $(@:$(OBJDIR)/%.o=$(DEPDIR)/%.d))
-       $(CC) $(CFLAGS) -MMD -MP -MF $(@:$(OBJDIR)/%.o=$(DEPDIR)/%.d) -o $@ -c $<
+SOURCES = $(wildcard $(SRCDIR)/*.c) $(wildcard $(SRCDIR)/*.asm)
 
-$(OBJDIR)/%.o: $(SRCDIR)/%.asm
-       mkdir -p $(dir $@)
-       $(ASM) $(ASMFLAGS) -o $@ $<
+OUTPUT_DRIVER := ../bin/serial.drv
 
-serial.drv: $(OBJECTS)
-       $(LINK) -o $@ $(OBJECTS) $(LDFLAGS)
+-include ../../common.mk