1# makefile for Haru Free PDFLibrary II (Libharu)
2# Copyright (C) 1999-2006 Takeshi Kanno
3# For conditions of distribution and use, see copyright notice in hpdf.h
4#
5# To compile, type:
6#   .\configure; make
7# If you wish to build zlib as a shared library, use: ./configure -s
8# To install /usr/local/lib/libhpdf.* and /usr/local/include/hpdf.h, type:
9#    make install
10# To install in $HOME instead of /usr/local, use:
11#    make install prefix=$HOME
12
13CC=bcc32
14PREFIX=/usr/local
15
16LIBNAME=libhpdf.lib
17SONAME=libhpdf.dll
18SOVER1=.1
19SOVER2=.0.0
20LIBTARGET=libhpdf.dll
21CFLAGS=-WM -O2 -d -q -w-8057 -w-8012 -Iinclude -Iwin32\include -nsrc -DHPDF_DLL_MAKE
22CFLAGS_DEMO=-WM -O2 -d -q -w-8057 -w-8012 -Iinclude -Iwin32\include -D__WIN32__ -DHPDF_DLL
23CFLAGS_EXE=-e
24LDFLAGS=/Lwin32\bcc32 libpng.lib zlib.lib
25LDFLAGS_DEMO1=/L. /Lwin32\bcc32 libhpdf.lib
26LDFLAGS_DEMO2=
27DEFNAME=
28RESNAME=win32/bcc32/libhpdf.res
29
30OBJS = \
31	src\hpdf_utils.obj \
32	src\hpdf_error.obj \
33	src\hpdf_mmgr.obj \
34	src\hpdf_list.obj \
35	src\hpdf_streams.obj \
36	src\hpdf_objects.obj \
37	src\hpdf_null.obj \
38	src\hpdf_boolean.obj \
39	src\hpdf_number.obj \
40	src\hpdf_real.obj \
41	src\hpdf_name.obj \
42	src\hpdf_array.obj \
43	src\hpdf_dict.obj \
44	src\hpdf_xref.obj \
45	src\hpdf_encoder.obj \
46	src\hpdf_string.obj \
47	src\hpdf_binary.obj \
48	src\hpdf_encrypt.obj \
49	src\hpdf_encryptdict.obj \
50	src\hpdf_fontdef.obj \
51	src\hpdf_fontdef_tt.obj \
52	src\hpdf_fontdef_type1.obj \
53	src\hpdf_fontdef_base14.obj \
54	src\hpdf_fontdef_cid.obj \
55	src\hpdf_font.obj \
56	src\hpdf_font_type1.obj \
57	src\hpdf_font_tt.obj \
58	src\hpdf_font_cid.obj \
59	src\hpdf_doc.obj \
60	src\hpdf_info.obj \
61	src\hpdf_catalog.obj \
62	src\hpdf_page_label.obj\
63	src\hpdf_gstate.obj \
64	src\hpdf_pages.obj \
65	src\hpdf_page_operator.obj \
66	src\hpdf_destination.obj \
67	src\hpdf_annotation.obj \
68	src\hpdf_outline.obj \
69	src\hpdf_image.obj \
70	src\hpdf_encoder_jp.obj \
71	src\hpdf_encoder_kr.obj \
72	src\hpdf_encoder_cns.obj \
73	src\hpdf_encoder_cnt.obj \
74	src\hpdf_fontdef_jp.obj \
75	src\hpdf_fontdef_kr.obj \
76	src\hpdf_fontdef_cns.obj \
77	src\hpdf_fontdef_cnt.obj \
78	src\hpdf_image_png.obj \
79	src\hpdf_image_ccitt.obj \
80	src\hpdf_doc_png.obj \
81	src\hpdf_ext_gstate.obj \
82	src\hpdf_3dmeasure.obj \
83	src\hpdf_namedict.obj \
84	src\hpdf_exdata.obj \
85	src\hpdf_u3d.obj
86
87PROGRAMS = \
88	demo\encoding_list.exe \
89	demo\font_demo.exe \
90	demo\text_demo.exe \
91	demo\text_demo2.exe \
92	demo\image_demo.exe \
93	demo\jpeg_demo.exe \
94	demo\jpfont_demo.exe \
95	demo\line_demo.exe \
96	demo\link_annotation.exe \
97	demo\outline_demo.exe \
98	demo\png_demo.exe \
99	demo\text_annotation.exe \
100	demo\ttfont_demo.exe \
101	demo\character_map.exe \
102	demo\grid_sheet.exe \
103	demo\arc_demo.exe \
104	demo\raw_image_demo.exe \
105	demo\encryption.exe \
106	demo\permission.exe \
107	demo\slide_show_demo.exe \
108	demo\ext_gstate_demo.exe \
109
110.SUFFIXES:  .c .obj
111
112all: $(LIBTARGET)
113
114$(LIBNAME): $(OBJS)
115	if exist *.lib del *.lib
116	tlib /a $@ +$(OBJS),$@.txt
117
118$(SONAME): $(OBJS)
119	-@if exist libhpdf* del libhpdf*
120	$(CC) -O2 -WD -e$(SONAME) -DHPDF_DLL_MAKE $(LDFLAGS) $(OBJS)
121	implib -f $(LIBNAME) $(SONAME)
122	copy $(SONAME) demo
123
124
125demo: $(LIBTARGET) $(PROGRAMS)
126
127clean:
128	if exist src\*.obj del src\*.obj
129	if exist src\*.o del src\*.o
130	if exist *.lib del *.lib
131	if exist *.dll del *.dll
132	if exist demo\*.exe del demo\*.exe
133	if exist demo\*.tds del demo\*.tds
134	if exist *.obj del *.obj
135
136install: all installfiles
137
138installfiles:
139	echo target "install" is not supported on windows platforms.
140
141
142
143
144
145
146
147.c.obj:
148	$(CC)  $(CFLAGS) -c $*.c
149
150demo\encoding_list.exe : demo\encoding_list.c $(LIBTARGET)
151	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\encoding_list.c  $(LDFLAGS_DEMO2)
152	cd demo
153	.\encoding_list.exe
154	cd ..
155
156demo\font_demo.exe : demo\font_demo.c $(LIBTARGET)
157	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\font_demo.c $(LDFLAGS_DEMO2)
158	cd demo
159	.\font_demo.exe
160	cd ..
161
162demo\text_demo.exe : demo\text_demo.c demo\grid_sheet.c $(LIBTARGET)
163	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\text_demo.c demo\grid_sheet.c $(LDFLAGS_DEMO2)
164	cd demo
165	.\text_demo.exe
166	cd ..
167
168demo\text_demo2.exe : demo\text_demo2.c demo\grid_sheet.c $(LIBTARGET)
169	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\text_demo2.c demo\grid_sheet.c $(LDFLAGS_DEMO2)
170	cd demo
171	.\text_demo2.exe
172	cd ..
173
174demo\image_demo.exe : demo\image_demo.c $(LIBTARGET)
175	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\image_demo.c $(LDFLAGS_DEMO2)
176	cd demo
177	.\image_demo.exe
178	cd ..
179
180demo\jpeg_demo.exe : demo\jpeg_demo.c $(LIBTARGET)
181	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\jpeg_demo.c $(LDFLAGS_DEMO2)
182	cd demo
183	.\jpeg_demo.exe
184	cd ..
185
186demo\jpfont_demo.exe : demo\jpfont_demo.c $(LIBTARGET)
187	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\jpfont_demo.c $(LDFLAGS_DEMO2)
188	cd demo
189	.\jpfont_demo.exe
190	cd ..
191
192demo\line_demo.exe : demo\line_demo.c $(LIBTARGET)
193	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\line_demo.c $(LDFLAGS_DEMO2)
194	cd demo
195	.\line_demo.exe
196	cd ..
197
198demo\link_annotation.exe : demo\link_annotation.c $(LIBTARGET)
199	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\link_annotation.c $(LDFLAGS_DEMO2)
200	cd demo
201	.\link_annotation.exe
202	cd ..
203
204demo\outline_demo.exe : demo\outline_demo.c $(LIBTARGET)
205	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\outline_demo.c $(LDFLAGS_DEMO2)
206	cd demo
207	.\outline_demo.exe
208	cd ..
209
210demo\png_demo.exe : demo\png_demo.c $(LIBTARGET)
211	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\png_demo.c $(LDFLAGS_DEMO2)
212	cd demo
213	.\png_demo.exe
214	cd ..
215
216demo\text_annotation.exe : demo\text_annotation.c $(LIBTARGET)
217	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\text_annotation.c $(LDFLAGS_DEMO2)
218	cd demo
219	.\text_annotation.exe
220	cd ..
221
222demo\encryption.exe : demo\encryption.c $(LIBTARGET)
223	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\encryption.c $(LDFLAGS_DEMO2)
224	cd demo
225	.\encryption.exe
226	cd ..
227
228demo\permission.exe : demo\permission.c $(LIBTARGET)
229	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\permission.c $(LDFLAGS_DEMO2)
230	cd demo
231	.\permission.exe
232	cd ..
233
234demo\ttfont_demo.exe : demo\ttfont_demo.c $(LIBTARGET)
235	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\ttfont_demo.c $(LDFLAGS_DEMO2)
236	cd demo
237	.\ttfont_demo.exe ttfont\PenguinAttack.ttf -E
238	cd ..
239
240demo\character_map.exe : demo\character_map.c $(LIBTARGET)
241	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\character_map.c $(LDFLAGS_DEMO2)
242
243demo\raw_image_demo.exe : demo\raw_image_demo.c $(LIBTARGET)
244	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\grid_sheet.c demo\raw_image_demo.c $(LDFLAGS_DEMO2)
245	cd demo
246	.\raw_image_demo.exe
247	cd ..
248
249demo\arc_demo.exe : demo\arc_demo.c demo\grid_sheet.c $(LIBTARGET)
250	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\grid_sheet.c demo\arc_demo.c $(LDFLAGS_DEMO2)
251	cd demo
252	.\arc_demo.exe
253	cd ..
254
255demo\grid_sheet.exe : demo\grid_sheet.c $(LIBTARGET)
256	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) -DSTAND_ALONE $(LDFLAGS_DEMO1) demo\grid_sheet.c $(LDFLAGS_DEMO2)
257	cd demo
258	.\grid_sheet.exe
259	cd ..
260
261demo\slide_show_demo.exe : demo\slide_show_demo.c $(LIBTARGET)
262	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\slide_show_demo.c $(LDFLAGS_DEMO2)
263	cd demo
264	.\slide_show_demo.exe
265	cd ..
266
267demo\ext_gstate_demo.exe : demo\ext_gstate_demo.c $(LIBTARGET)
268	$(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo\ext_gstate_demo.c $(LDFLAGS_DEMO2)
269	cd demo
270	.\ext_gstate_demo.exe
271	cd ..
272
273
274