mirror of
https://github.com/justinian/jsix.git
synced 2025-12-10 08:24:32 -08:00
29 lines
700 B
Makefile
29 lines
700 B
Makefile
ifeq "$(MOD_NAME)" ""
|
|
include "you must specify a MOD_NAME"
|
|
endif
|
|
|
|
ifndef SOURCES
|
|
SOURCES := $(wildcard src/modules/$(MOD_NAME)/*.c)
|
|
SOURCES += $(wildcard src/modules/$(MOD_NAME)/*.S)
|
|
endif
|
|
|
|
ifeq "$(SOURCES)" ""
|
|
include "you must specify a SOURCES list"
|
|
endif
|
|
|
|
MOD_SRC_D := src/modules/$(MOD_NAME)
|
|
MOD_BUILD_D := $(BUILD_D)/d.$(MOD_NAME)
|
|
MOD_LIBNAME := $(BUILD_D)/lib$(MOD_NAME).a
|
|
MOD_TARGETS += $(MOD_LIBNAME)
|
|
|
|
OBJS_$(MOD_NAME) := $(patsubst %.c,build/d.%.o,$(patsubst src/modules/%,%,$(SOURCES)))
|
|
|
|
$(MOD_LIBNAME): $(OBJS_$(MOD_NAME))
|
|
$(AR) cr $@ $(OBJS_$(MOD_NAME))
|
|
|
|
$(MOD_BUILD_D)/%.o: $(MOD_SRC_D)/%.c $(INIT_DEP)
|
|
$(CC) $(CFLAGS) -c -o $@ $<
|
|
|
|
DEPS += $(patsubst %.o,%.d,$(OBJS_$(MOD_NAME)))
|
|
|