Makefile(Linux and MingW support) for spine-c, options are (debug-dynamic, release-dynamic and release-static)

This commit is contained in:
Guilherme A. David 2014-09-27 08:34:42 -03:00
parent e5d3d380c7
commit 113940e2c8

50
spine-c/Makefile Normal file
View File

@ -0,0 +1,50 @@
LIBS = -lm
CFLAGS = -Wall -I./include/
SRC=$(wildcard src/spine/*.c)
OBJ_FILES := $(addprefix obj/,$(notdir $(SRC:.c=.o)))
STATIC_OBJ_FILES := $(addprefix obj/,$(notdir $(SRC:.c=-s.o)))
DEBUG_OBJ_FILES := $(addprefix obj/,$(notdir $(SRC:.c=-d.o)))
default:
@echo
@echo "- Options are (debug|release)-dynamic and release-static."
@echo "- Ex: release-static"
@echo
release-dynamic: $(OBJ_FILES)
@mkdir -p dist
gcc -s -shared -Wl,-soname,libspine.so -o dist/libspine.so $(OBJ_FILES)
@echo
@echo - /dist/libspine.so
@echo
debug-dynamic: $(DEBUG_OBJ_FILES)
@mkdir -p dist
gcc -g3 -shared -Wl,-soname,libspine.so -o dist/libspine-d.so $(DEBUG_OBJ_FILES)
@echo
@echo - /dist/libspine-d.so
@echo
obj/%.o: src/spine/%.c
@mkdir -p obj
gcc -fPIC -c -o $@ $< $(CFLAGS) $(LIBS)
obj/%-d.o: src/spine/%.c
@mkdir -p obj
gcc -fPIC -c -o $@ $< $(CFLAGS)
release-static: $(STATIC_OBJ_FILES)
@mkdir -p dist
ar rcs dist/libspine-s.a $(STATIC_OBJ_FILES)
@echo
@echo - /dist/libspine-s.a
@echo
obj/%-s.o: src/spine/%.c
@mkdir -p obj
gcc -c -o $@ $< $(CFLAGS) $(LIBS)
clean:
rm -rf obj/*
rm -rf dist/*