buildsystem,ide,epj2make; sorted out platform variables and uses. now using HOST_PLAT...
[sdk] / deps / zlib / Makefile
1 .PHONY: all objdir clean realclean distclean
2
3 # CONTENT
4
5 MODULE := libz
6 CONFIG := release
7 COMPILER := default
8 TARGET_TYPE = staticlib
9
10 OBJ = obj/$(CONFIG).$(PLATFORM)/
11
12 RES = 
13
14 TARGET = obj/$(CONFIG).$(PLATFORM)/$(LP)z$(A)
15
16 OBJECTS = \
17         $(OBJ)adler32.o \
18         $(OBJ)compress.o \
19         $(OBJ)crc32.o \
20         $(OBJ)deflate.o \
21         $(OBJ)gzio.o \
22         $(OBJ)infback.o \
23         $(OBJ)inffast.o \
24         $(OBJ)inflate.o \
25         $(OBJ)inftrees.o \
26         $(OBJ)trees.o \
27         $(OBJ)uncompr.o \
28         $(OBJ)zutil.o
29
30 COBJECTS =
31
32 SYMBOLS =
33
34 IMPORTS =
35
36 SOURCES = \
37         adler32.c \
38         compress.c \
39         crc32.c \
40         deflate.c \
41         gzio.c \
42         infback.c \
43         inffast.c \
44         inflate.c \
45         inftrees.c \
46         trees.c \
47         uncompr.c \
48         zutil.c
49
50 RESOURCES =
51
52 ifndef DEBIAN_PACKAGE
53 CFLAGS =
54 endif
55 OFLAGS =
56
57 # CROSS-PLATFORM MAGIC
58
59 include ../../crossplatform.mk
60 include ../../include.mk
61
62 # FLAGS
63
64 CFLAGS += -fmessage-length=0 -O2 -ffast-math -m32 $(FPIC) -w
65
66 LIBS = $(SHAREDLIB) $(EXECUTABLE) $(LINKOPT)
67
68 UPXFLAGS = -9 -q
69
70 # HARD CODED PLATFORM-SPECIFIC OPTIONS
71 ifdef LINUX_TARGET
72 OFLAGS += -Wl,--no-undefined
73 endif
74
75 # TARGETS
76
77 all: objdir $(TARGET)
78
79 objdir:
80         $(if $(wildcard $(OBJ)),,$(call mkdirq,$(OBJ)))
81
82 $(TARGET): $(SOURCES) $(RESOURCES) | objdir $(SYMBOLS) $(OBJECTS)
83         $(AR) rcs $(TARGET) $(OBJECTS) $(LIBS)
84
85 # SYMBOL RULES
86
87 # C OBJECT RULES
88
89 # OBJECT RULES
90
91 $(OBJ)adler32.o: adler32.c
92         $(CC) $(CFLAGS) -c adler32.c -o $(OBJ)adler32.o
93
94 $(OBJ)compress.o: compress.c
95         $(CC) $(CFLAGS) -c compress.c -o $(OBJ)compress.o
96
97 $(OBJ)crc32.o: crc32.c
98         $(CC) $(CFLAGS) -c crc32.c -o $(OBJ)crc32.o
99
100 $(OBJ)deflate.o: deflate.c
101         $(CC) $(CFLAGS) -c deflate.c -o $(OBJ)deflate.o
102
103 $(OBJ)gzio.o: gzio.c
104         $(CC) $(CFLAGS) -c gzio.c -o $(OBJ)gzio.o
105
106 $(OBJ)infback.o: infback.c
107         $(CC) $(CFLAGS) -c infback.c -o $(OBJ)infback.o
108
109 $(OBJ)inffast.o: inffast.c
110         $(CC) $(CFLAGS) -c inffast.c -o $(OBJ)inffast.o
111
112 $(OBJ)inflate.o: inflate.c
113         $(CC) $(CFLAGS) -c inflate.c -o $(OBJ)inflate.o
114
115 $(OBJ)inftrees.o: inftrees.c
116         $(CC) $(CFLAGS) -c inftrees.c -o $(OBJ)inftrees.o
117
118 $(OBJ)trees.o: trees.c
119         $(CC) $(CFLAGS) -c trees.c -o $(OBJ)trees.o
120
121 $(OBJ)uncompr.o: uncompr.c
122         $(CC) $(CFLAGS) -c uncompr.c -o $(OBJ)uncompr.o
123
124 $(OBJ)zutil.o: zutil.c
125         $(CC) $(CFLAGS) -c zutil.c -o $(OBJ)zutil.o
126
127 clean: objdir
128         $(call rmq,$(TARGET))
129         $(call rmq,$(OBJECTS))
130         $(call rmq,$(COBJECTS))
131
132 realclean:
133         $(call rmrq,$(OBJ))
134
135 distclean:
136         $(call rmrq,obj/)