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=gcc 14PREFIX=/usr/local 15 16LIBNAME=libhpdf.a 17SONAME=libhpdf.dll 18SOVER1=.1 19SOVER2=.0.0 20LIBTARGET=libhpdf.dll 21CFLAGS=-Iinclude -O2 -Wall -Iwin32/include -mno-cygwin -DHPDF_DLL_MAKE -DHPDF_DLL_MAKE_CDECL 22CFLAGS_DEMO=-Iinclude -O2 -Wall -mno-cygwin -DHPDF_DLL 23CFLAGS_EXE=-o 24LDFLAGS=-Lwin32/mingw -L. -lpng -lz 25LDFLAGS_DEMO1= 26LDFLAGS_DEMO2=-L. -lhpdf 27DEFNAME=win32/mingw/libhpdf.def 28RESNAME=win32/mingw/libhpdf_mingw.res 29 30OBJS = \ 31 src/hpdf_utils.o \ 32 src/hpdf_error.o \ 33 src/hpdf_mmgr.o \ 34 src/hpdf_list.o \ 35 src/hpdf_streams.o \ 36 src/hpdf_objects.o \ 37 src/hpdf_null.o \ 38 src/hpdf_boolean.o \ 39 src/hpdf_number.o \ 40 src/hpdf_real.o \ 41 src/hpdf_name.o \ 42 src/hpdf_array.o \ 43 src/hpdf_dict.o \ 44 src/hpdf_xref.o \ 45 src/hpdf_encoder.o \ 46 src/hpdf_string.o \ 47 src/hpdf_binary.o \ 48 src/hpdf_encrypt.o \ 49 src/hpdf_encryptdict.o \ 50 src/hpdf_fontdef.o \ 51 src/hpdf_fontdef_tt.o \ 52 src/hpdf_fontdef_type1.o \ 53 src/hpdf_fontdef_base14.o \ 54 src/hpdf_fontdef_cid.o \ 55 src/hpdf_font.o \ 56 src/hpdf_font_type1.o \ 57 src/hpdf_font_tt.o \ 58 src/hpdf_font_cid.o \ 59 src/hpdf_doc.o \ 60 src/hpdf_info.o \ 61 src/hpdf_catalog.o \ 62 src/hpdf_page_label.o\ 63 src/hpdf_gstate.o \ 64 src/hpdf_pages.o \ 65 src/hpdf_page_operator.o \ 66 src/hpdf_destination.o \ 67 src/hpdf_annotation.o \ 68 src/hpdf_outline.o \ 69 src/hpdf_image.o \ 70 src/hpdf_encoder_jp.o \ 71 src/hpdf_encoder_kr.o \ 72 src/hpdf_encoder_cns.o \ 73 src/hpdf_encoder_cnt.o \ 74 src/hpdf_fontdef_jp.o \ 75 src/hpdf_fontdef_kr.o \ 76 src/hpdf_fontdef_cns.o \ 77 src/hpdf_fontdef_cnt.o \ 78 src/hpdf_image_png.o \ 79 src/hpdf_image_ccitt.o \ 80 src/hpdf_doc_png.o \ 81 src/hpdf_ext_gstate.o \ 82 src/hpdf_namedict.o \ 83 src/hpdf_3dmeasure.o \ 84 src/hpdf_exdata.o \ 85 src/hpdf_u3d.o \ 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 .o 111 112all: $(LIBTARGET) 113 114$(LIBNAME): $(OBJS) 115 ar rc $(LIBNAME) $(OBJS) 116 ranlib $(LIBNAME) 117 118$(SONAME): $(OBJS) 119 $(CC) -Wall -shared -o $(SONAME) $(OBJS) $(DEFNAME) $(RESNAME) -Wl,--kill-at,--enable-stdcall-fixup $(LDFLAGS) -mno-cygwin 120 dlltool -k -d $(DEFNAME) -l $(LIBNAME) 121 strip $(SONAME) 122 cp -p $(SONAME) demo 123 124 125demo: $(LIBTARGET) $(PROGRAMS) 126 127clean: 128 rm -f src/*.o src/*.obj ./*.a ./*.so* ./*.lib demo/*.exe 129 130install: all installfiles 131 132installfiles: 133 if [ ! -d $(PREFIX) ]; then mkdir -p $(PREFIX); fi 134 if [ ! -d $(PREFIX)/include ]; then mkdir -p $(PREFIX)/include; fi 135 if [ ! -d $(PREFIX)/lib ]; then mkdir -p $(PREFIX)/lib; fi 136 cp include/hpdf.h include/hpdf_consts.h include/hpdf_types.h $(PREFIX)/include/; chmod 644 $(PREFIX)/include/hpdf*.h 137 cp -p $(SONAME)$(SOVER1)$(SOVER2) $(PREFIX)/lib/ 138 cp -p $(LIBNAME) $(PREFIX)/lib/ 139 140 141.c.o: 142 $(CC) -o $@ $(CFLAGS) -c $*.c 143 144demo/encoding_list.exe : demo/encoding_list.c $(LIBTARGET) 145 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/encoding_list.c $(LDFLAGS_DEMO2) 146 cd demo/ ; ./encoding_list.exe 147 148demo/font_demo.exe : demo/font_demo.c $(LIBTARGET) 149 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/font_demo.c $(LDFLAGS_DEMO2) 150 cd demo/ ; ./font_demo.exe 151 152demo/text_demo.exe : demo/text_demo.c demo/grid_sheet.c $(LIBTARGET) 153 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/text_demo.c demo/grid_sheet.c $(LDFLAGS_DEMO2) 154 cd demo/ ; ./text_demo.exe 155 156demo/text_demo2.exe : demo/text_demo2.c demo/grid_sheet.c $(LIBTARGET) 157 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/text_demo2.c demo/grid_sheet.c $(LDFLAGS_DEMO2) 158 cd demo/ ; ./text_demo2.exe 159 160demo/image_demo.exe : demo/image_demo.c $(LIBTARGET) 161 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/image_demo.c $(LDFLAGS_DEMO2) 162 cd demo/ ; ./image_demo.exe 163 164demo/jpeg_demo.exe : demo/jpeg_demo.c $(LIBTARGET) 165 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/jpeg_demo.c $(LDFLAGS_DEMO2) 166 cd demo/ ; ./jpeg_demo.exe 167 168demo/jpfont_demo.exe : demo/jpfont_demo.c $(LIBTARGET) 169 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/jpfont_demo.c $(LDFLAGS_DEMO2) 170 cd demo/ ; ./jpfont_demo.exe 171 172demo/line_demo.exe : demo/line_demo.c $(LIBTARGET) 173 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/line_demo.c $(LDFLAGS_DEMO2) 174 cd demo/ ; ./line_demo.exe 175 176demo/link_annotation.exe : demo/link_annotation.c $(LIBTARGET) 177 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/link_annotation.c $(LDFLAGS_DEMO2) 178 cd demo/ ; ./link_annotation.exe 179 180demo/outline_demo.exe : demo/outline_demo.c $(LIBTARGET) 181 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/outline_demo.c $(LDFLAGS_DEMO2) 182 cd demo/ ; ./outline_demo.exe 183 184demo/png_demo.exe : demo/png_demo.c $(LIBTARGET) 185 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/png_demo.c $(LDFLAGS_DEMO2) 186 cd demo/ ; ./png_demo.exe 187 188demo/text_annotation.exe : demo/text_annotation.c $(LIBTARGET) 189 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/text_annotation.c $(LDFLAGS_DEMO2) 190 cd demo/ ; ./text_annotation.exe 191 192demo/encryption.exe : demo/encryption.c $(LIBTARGET) 193 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/encryption.c $(LDFLAGS_DEMO2) 194 cd demo/ ; ./encryption.exe 195 196demo/permission.exe : demo/permission.c $(LIBTARGET) 197 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/permission.c $(LDFLAGS_DEMO2) 198 cd demo/ ; ./permission.exe 199 200demo/ttfont_demo.exe : demo/ttfont_demo.c $(LIBTARGET) 201 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/ttfont_demo.c $(LDFLAGS_DEMO2) 202 cd demo/ ; ./ttfont_demo.exe ttfont/PenguinAttack.ttf -E 203 204demo/character_map.exe : demo/character_map.c $(LIBTARGET) 205 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/character_map.c $(LDFLAGS_DEMO2) 206 207demo/raw_image_demo.exe : demo/raw_image_demo.c $(LIBTARGET) 208 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/grid_sheet.c demo/raw_image_demo.c $(LDFLAGS_DEMO2) 209 cd demo/ ; ./raw_image_demo.exe 210 211demo/arc_demo.exe : demo/arc_demo.c demo/grid_sheet.c $(LIBTARGET) 212 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/grid_sheet.c demo/arc_demo.c $(LDFLAGS_DEMO2) 213 cd demo/ ; ./arc_demo.exe 214 215demo/grid_sheet.exe : demo/grid_sheet.c $(LIBTARGET) 216 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) -DSTAND_ALONE $(LDFLAGS_DEMO1) demo/grid_sheet.c $(LDFLAGS_DEMO2) 217 cd demo/ ; ./grid_sheet.exe 218 219demo/slide_show_demo.exe : demo/slide_show_demo.c $(LIBTARGET) 220 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/slide_show_demo.c $(LDFLAGS_DEMO2) 221 cd demo/ ; ./slide_show_demo.exe 222 223demo/ext_gstate_demo.exe : demo/ext_gstate_demo.c $(LIBTARGET) 224 $(CC) $(CFLAGS_EXE)$@ $(CFLAGS_DEMO) $(LDFLAGS_DEMO1) demo/ext_gstate_demo.c $(LDFLAGS_DEMO2) 225 cd demo/ ; ./ext_gstate_demo.exe 226 227 228