CeDOS - src/libcedos/makefile

src/libcedos/makefile (view raw)

.RECIPEPREFIX = >

LOCAL_BUILD = $(GLOBAL_BUILD)/libcedos

SRC_DIR := $(shell pwd)

C_SOURCES := $(wildcard *.c)
S_SOURCES := $(wildcard *.s)

C_OBJECTS := $(patsubst %.c,$(LOCAL_BUILD)/%.c.o,$(C_SOURCES))
S_OBJECTS := $(patsubst %.s,$(LOCAL_BUILD)/%.s.o,$(S_SOURCES))
OBJECTS = $(S_OBJECTS) $(C_OBJECTS)

LIBCEDOS := $(GLOBAL_BUILD)/lib/libcedos.a

DIRS := $(sort $(dir $(OBJECTS) $(LIBCEDOS)))

$(OBJECTS) $(LIBCEDOS): | $(DIRS)
$(DIRS):
> $(MKDIR) $(DIRS)

.PHONY: build
build: $(LIBCEDOS)
$(LIBCEDOS): $(OBJECTS)
> $(AR) rcs $@ $^

$(LOCAL_BUILD)/%.s.o: %.s
> $(AS) -o $@ $<

$(LOCAL_BUILD)/%.c.o: %.c $(wildcard *.h)
> $(CC) -c -fPIC -I$(INCLUDE_DIR) -I./include $(CCFLAGS) -o $@ $<