tarball,crossplatform.mk: improve cross-platform shell command functions. let errors...
[sdk] / deps / libungif-4.1.1 / Makefile
1 .PHONY: all objdir cleantarget clean realclean distclean
2
3 # CORE VARIABLES
4
5 MODULE := ungif
6 CONFIG := release
7 ifndef COMPILER
8 COMPILER := default
9 endif
10
11 TARGET_TYPE = staticlib
12
13 # FLAGS
14
15 ECFLAGS =
16 ifndef DEBIAN_PACKAGE
17 CFLAGS =
18 LDFLAGS =
19 endif
20 PRJ_CFLAGS =
21 CECFLAGS =
22 OFLAGS =
23 LIBS =
24
25 ifdef DEBUG
26 NOSTRIP := y
27 endif
28
29 CONSOLE = -mwindows
30
31 # INCLUDES
32
33 _CF_DIR = ../../
34
35 include $(_CF_DIR)crossplatform.mk
36 include $(_CF_DIR)default.cf
37
38 # POST-INCLUDES VARIABLES
39
40 OBJ = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/
41
42 RES = 
43
44 TARGET = obj/$(CONFIG).$(PLATFORM)$(COMPILER_SUFFIX)/$(LP)ungif$(A)
45
46 _OBJECTS = \
47         $(OBJ)dgif_lib.o \
48         $(OBJ)gif_err.o \
49         $(OBJ)gifalloc.o
50
51 OBJECTS = $(_OBJECTS)
52
53 SOURCES = \
54         lib/dgif_lib.c \
55         lib/gif_err.c \
56         lib/gifalloc.c
57
58 RESOURCES =
59
60 LIBS += $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
61
62 PRJ_CFLAGS += \
63          $(if $(DEBUG), -g, -O2 -ffast-math) $(FPIC) -w $(FVISIBILITY)
64
65
66
67
68
69 CECFLAGS += -cpp $(_CPP)
70
71 # TARGETS
72
73 all: objdir $(TARGET)
74
75 objdir:
76         $(if $(wildcard $(OBJ)),,$(call mkdir,$(OBJ)))
77
78 $(TARGET): $(SOURCES) $(RESOURCES) | objdir $(SYMBOLS) $(OBJECTS)
79         $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
80
81 # SYMBOL RULES
82
83 # C OBJECT RULES
84
85 # OBJECT RULES
86
87 $(OBJ)dgif_lib.o: lib/dgif_lib.c
88         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c lib/dgif_lib.c -o $(OBJ)dgif_lib.o
89
90 $(OBJ)gif_err.o: lib/gif_err.c
91         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c lib/gif_err.c -o $(OBJ)gif_err.o
92
93 $(OBJ)gifalloc.o: lib/gifalloc.c
94         $(CC) $(CFLAGS) $(PRJ_CFLAGS) -c lib/gifalloc.c -o $(OBJ)gifalloc.o
95
96 cleantarget: objdir
97         $(call rm,$(TARGET))
98
99 clean: cleantarget
100         $(call rm,$(_OBJECTS))
101
102 realclean: cleantarget
103         $(call rmr,$(OBJ))
104
105 distclean: cleantarget
106         $(call rmr,obj/)