48 lines
743 B
Makefile
48 lines
743 B
Makefile
### get external defined data
|
|
|
|
### constant symbols
|
|
|
|
ARCH ?=
|
|
CROSS_COMPILE ?=
|
|
CC := $(CROSS_COMPILE)gcc
|
|
AR := $(CROSS_COMPILE)ar
|
|
|
|
CFLAGS := -O2 -Wall -Wextra -std=c99 -Iinc -I.
|
|
|
|
OBJDIR = obj
|
|
INCLUDES = $(wildcard inc/*.h)
|
|
|
|
### linking options
|
|
|
|
### general build targets
|
|
|
|
all: libtinymt32.a libparson.a libbase64.a
|
|
|
|
clean:
|
|
rm -f libtinymt32.a
|
|
rm -f libparson.a
|
|
rm -f libbase64.a
|
|
rm -f $(OBJDIR)/*.o
|
|
|
|
### library module target
|
|
|
|
$(OBJDIR):
|
|
mkdir -p $(OBJDIR)
|
|
|
|
$(OBJDIR)/%.o: src/%.c $(INCLUDES) | $(OBJDIR)
|
|
$(CC) -c $(CFLAGS) $< -o $@
|
|
|
|
### static library
|
|
|
|
libtinymt32.a: $(OBJDIR)/tinymt32.o
|
|
$(AR) rcs $@ $^
|
|
|
|
libparson.a: $(OBJDIR)/parson.o
|
|
$(AR) rcs $@ $^
|
|
|
|
libbase64.a: $(OBJDIR)/base64.o
|
|
$(AR) rcs $@ $^
|
|
|
|
### test programs
|
|
|
|
### EOF
|