libretro-samples/tests/cruzes/Makefile
2016-10-01 03:11:08 +02:00

94 lines
1.8 KiB
Makefile

MKDIR ?= mkdir
RM ?= rm
RM_F ?= $(RM) -f
RM_RF ?= $(RM) -rf
MKDIR_P ?= $(MKDIR) -p
cc := $(CC)
cxx := $(CXX)
soext := so
objdir := obj/
ifneq ($(findstring $(config),win32),)
soext := dll
endif
target := cruzes_libretro.$(soext)
sources := cruzes.c ttf2c.c
generated := font24.h font16.h font10.h
libs := -lm
ldirs :=
lflags :=
idirs := -I.
cflags := -Wall -std=c99
fpic := -fPIC
cflags_debug := -O0 -g
cflags_release := -O2
ifeq ($(DEBUG), 1)
cflags += $(cflags_debug)
else
cflags += $(cflags_release)
endif
ifneq ($(findstring sse2,$(config)),)
cflags += -msse2
endif
ifneq ($(findstring lto,$(config)),)
cflags += -flto
lflags += -flto
endif
ifneq ($(findstring ofast,$(config)),)
cflags += -Ofast
endif
ifneq ($(findstring clang,$(config)),)
cc := clang
endif
ifneq ($(sanitizer),)
cflags += -fsanitize=$(sanitizer)
lflags += -fsanitize=$(sanitizer)
else
lflags += -Wl,--no-undefined
endif
objects := $(addprefix $(objdir),$(sources:.c=.o))
deps := $(objects:.o=.d)
.PHONY: all clean
all: $(target)
clean:
-$(RM_F) $(target) $(objects) $(deps) ttf2c{,.exe}
$(target): $(generated) $(objects)
$(cc) -o $(target) $(ldirs) $(lflags) -shared $(fpic) $(objects) $(libs)
font24.h: ttf2c $(objdir)Carlito-Regular.ttf
./ttf2c 24 font24 $(objdir)Carlito-Regular.ttf font24.h
font16.h: ttf2c $(objdir)Carlito-Regular.ttf
./ttf2c 16 font16 $(objdir)Carlito-Regular.ttf font16.h
font10.h: ttf2c $(objdir)Carlito-Regular.ttf
./ttf2c 10 font10 $(objdir)Carlito-Regular.ttf font10.h
ttf2c: ttf2c.c Makefile
$(cc) -Wall -g -DTTF2C_MAIN -o $@ $< -lm
$(objdir)%.o: %.c $(generated)
-@$(MKDIR_P) $(dir $@)
$(cc) $(idirs) $(cflags) $(fpic) -MMD -c -o $@ $<
-@sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
-e '/^$$/ d' -e 's/$$/ :/' -i'' $(objdir)$*.d
-include $(deps)