31 lines
650 B
Makefile
Executable File
31 lines
650 B
Makefile
Executable File
#!/usr/bin/env make
|
|
|
|
SRC_DIR := .
|
|
OBJ_DIR := obj
|
|
|
|
CFLAGS := -MMD -MP -fPIE $(CROSS_CFLAGS)
|
|
MODULESC := $(wildcard $(SRC_DIR)/*.c)
|
|
MODULESI := $(SRC_DIR)/curve-specific.inc
|
|
OBJECTSC := $(MODULESC:$(SRC_DIR)/%.c=$(OBJ_DIR)/%.o)
|
|
OBJECTSI := $(MODULESI:$(SRC_DIR)/%.inc=$(OBJ_DIR)/%.o)
|
|
OBJECTS := $(OBJECTSC) $(OBJECTSI)
|
|
|
|
libuECC.a: $(OBJECTS)
|
|
ar rcs $@ $^
|
|
|
|
$(OBJECTSC): $(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
|
|
@mkdir -p $(@D)
|
|
@$(CC) $(STATIC) $(CFLAGS) -c -o $@ $<
|
|
|
|
$(OBJECTSI): $(OBJ_DIR)/%.o: $(SRC_DIR)/%.inc
|
|
@mkdir -p $(@D)
|
|
@$(CC) -x c $(STATIC) $(CFLAGS) -c -o $@ $<
|
|
|
|
clean:
|
|
rm -f obj/*
|
|
rm -f libuECC.a
|
|
|
|
.PHONY: clean
|
|
|
|
-include $(OBJECTS:.o=.d)
|