mirror of
https://github.com/libretro/libretro-samples.git
synced 2025-04-02 10:31:48 -04:00
94 lines
1.8 KiB
Makefile
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)
|
|
|
|
|