Tue, 09 Dec 2003 18:05:44 +0000
fix sed regexp in bin-dist-rh for Red Hat 9 (no minor version).
eric@125 | 1 | # tumble: build a PDF file from image files |
eric@1 | 2 | # Makefile |
eric@158 | 3 | # $Id: Makefile,v 1.41 2003/04/10 01:02:12 eric Exp $ |
eric@80 | 4 | # Copyright 2001, 2002, 2003 Eric Smith <eric@brouhaha.com> |
eric@1 | 5 | # |
eric@1 | 6 | # This program is free software; you can redistribute it and/or modify |
eric@1 | 7 | # it under the terms of the GNU General Public License version 2 as |
eric@1 | 8 | # published by the Free Software Foundation. Note that permission is |
eric@1 | 9 | # not granted to redistribute this program under the terms of any |
eric@1 | 10 | # other version of the General Public License. |
eric@1 | 11 | # |
eric@1 | 12 | # This program is distributed in the hope that it will be useful, |
eric@1 | 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
eric@1 | 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
eric@1 | 15 | # GNU General Public License for more details. |
eric@1 | 16 | # |
eric@1 | 17 | # You should have received a copy of the GNU General Public License |
eric@1 | 18 | # along with this program; if not, write to the Free Software |
eric@1 | 19 | # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA |
eric@1 | 20 | |
eric@1 | 21 | |
eric@90 | 22 | # Conditionals: uncomment the following defines as nessary. Note that a |
eric@90 | 23 | # "0" value is considered true by make, so to disable conditionals comment |
eric@90 | 24 | # them out or set them to a null string. |
eric@86 | 25 | |
eric@143 | 26 | #DEBUG=1 |
eric@90 | 27 | #EFENCE=1 |
eric@90 | 28 | #STATIC=1 |
eric@160 | 29 | CTL_LANG=1 |
eric@86 | 30 | |
eric@86 | 31 | |
eric@86 | 32 | CFLAGS = -Wall |
eric@86 | 33 | LDFLAGS = |
eric@157 | 34 | LDLIBS = -ltiff -ljpeg -lpbm -lz -lm |
eric@53 | 35 | |
eric@86 | 36 | ifdef DEBUG |
eric@86 | 37 | CFLAGS := $(CFLAGS) -g |
eric@86 | 38 | LDFLAGS := $(LDFLAGS) -g |
eric@136 | 39 | else |
eric@136 | 40 | CFLAGS := $(CFLAGS) -O3 |
eric@90 | 41 | endif |
eric@90 | 42 | |
eric@90 | 43 | ifdef EFENCE |
eric@86 | 44 | LDLIBS := $(LDLIBS) -lefence -lpthread |
eric@86 | 45 | endif |
eric@53 | 46 | |
eric@86 | 47 | ifdef STATIC |
eric@86 | 48 | LDLIBS := -Wl,-static $(LDLIBS) |
eric@86 | 49 | endif |
eric@86 | 50 | |
eric@53 | 51 | |
eric@6 | 52 | YACC = bison |
eric@6 | 53 | YFLAGS = -d -v |
eric@6 | 54 | |
eric@53 | 55 | |
eric@51 | 56 | # ----------------------------------------------------------------------------- |
eric@51 | 57 | # You shouldn't have to change anything below this point, but if you do please |
eric@51 | 58 | # let me know why so I can improve this Makefile. |
eric@51 | 59 | # ----------------------------------------------------------------------------- |
eric@51 | 60 | |
eric@157 | 61 | VERSION = 0.33 |
eric@51 | 62 | |
eric@125 | 63 | PACKAGE = tumble |
eric@12 | 64 | |
eric@125 | 65 | TARGETS = tumble |
eric@15 | 66 | |
eric@125 | 67 | CSRCS = tumble.c semantics.c \ |
eric@157 | 68 | tumble_input.c tumble_tiff.c tumble_jpeg.c tumble_pbm.c \ |
eric@91 | 69 | bitblt.c bitblt_table_gen.c bitblt_g4.c g4_table_gen.c \ |
eric@131 | 70 | pdf.c pdf_util.c pdf_prim.c pdf_name_tree.c \ |
eric@131 | 71 | pdf_bookmark.c pdf_page_label.c \ |
eric@119 | 72 | pdf_text.c pdf_g4.c pdf_jpeg.c |
eric@51 | 73 | OSRCS = scanner.l parser.y |
eric@141 | 74 | HDRS = tumble.h tumble_input.h semantics.h bitblt.h bitblt_tables.h \ |
eric@80 | 75 | pdf.h pdf_private.h pdf_util.h pdf_prim.h pdf_name_tree.h |
eric@136 | 76 | MISC = COPYING README INSTALL Makefile |
eric@51 | 77 | |
eric@51 | 78 | DISTFILES = $(MISC) $(HDRS) $(CSRCS) $(OSRCS) |
eric@51 | 79 | DISTNAME = $(PACKAGE)-$(VERSION) |
eric@51 | 80 | |
eric@138 | 81 | BIN_DISTFILES = COPYING README $(TARGETS) |
eric@138 | 82 | |
eric@51 | 83 | |
eric@160 | 84 | AUTO_CSRCS = bitblt_tables.c g4_tables.c |
eric@160 | 85 | AUTO_HDRS = bitblt_tables.h g4_tables.h |
eric@160 | 86 | |
eric@160 | 87 | ifdef CTL_LANG |
eric@160 | 88 | AUTO_CSRCS += scanner.c parser.tab.c |
eric@160 | 89 | AUTO_HDRS += parser_tab.h |
eric@99 | 90 | AUTO_MISC = parser.output |
eric@160 | 91 | endif |
eric@15 | 92 | |
eric@51 | 93 | |
eric@160 | 94 | CDEFINES = -DTUMBLE_VERSION=$(VERSION) |
eric@160 | 95 | |
eric@160 | 96 | ifdef CTL_LANG |
eric@160 | 97 | CDEFINES += -DCTL_LANG |
eric@160 | 98 | endif |
eric@160 | 99 | |
eric@160 | 100 | CFLAGS := $(CFLAGS) $(CDEFINES) |
eric@158 | 101 | |
eric@158 | 102 | |
eric@90 | 103 | -include Maketest |
eric@90 | 104 | |
eric@90 | 105 | |
eric@90 | 106 | all: $(TARGETS) $(TEST_TARGETS) |
eric@51 | 107 | |
eric@51 | 108 | |
eric@160 | 109 | TUMBLE_OBJS = tumble.o semantics.o \ |
eric@157 | 110 | tumble_input.o tumble_tiff.o tumble_jpeg.o tumble_pbm.o \ |
eric@99 | 111 | bitblt.o bitblt_g4.o bitblt_tables.o g4_tables.o \ |
eric@131 | 112 | pdf.o pdf_util.o pdf_prim.o pdf_name_tree.o \ |
eric@131 | 113 | pdf_bookmark.o pdf_page_label.o \ |
eric@119 | 114 | pdf_text.o pdf_g4.o pdf_jpeg.o |
eric@160 | 115 | |
eric@160 | 116 | ifdef CTL_LANG |
eric@160 | 117 | TUMBLE_OBJS += scanner.o parser.tab.o |
eric@160 | 118 | endif |
eric@160 | 119 | |
eric@160 | 120 | tumble: $(TUMBLE_OBJS) |
eric@86 | 121 | $(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@ |
eric@86 | 122 | ifndef DEBUG |
eric@86 | 123 | strip $@ |
eric@86 | 124 | endif |
eric@86 | 125 | |
eric@53 | 126 | |
eric@53 | 127 | bitblt_tables.h: bitblt_table_gen |
eric@97 | 128 | ./bitblt_table_gen -h >bitblt_tables.h |
eric@97 | 129 | |
eric@97 | 130 | bitblt_tables.c: bitblt_table_gen |
eric@97 | 131 | ./bitblt_table_gen -c >bitblt_tables.c |
eric@53 | 132 | |
eric@53 | 133 | bitblt_table_gen: bitblt_table_gen.o |
eric@53 | 134 | |
eric@91 | 135 | g4_tables.h: g4_table_gen |
eric@99 | 136 | ./g4_table_gen -h >g4_tables.h |
eric@99 | 137 | |
eric@99 | 138 | g4_tables.c: g4_table_gen |
eric@99 | 139 | ./g4_table_gen -c >g4_tables.c |
eric@71 | 140 | |
eric@91 | 141 | g4_table_gen: g4_table_gen.o |
eric@71 | 142 | |
eric@53 | 143 | |
eric@51 | 144 | dist: $(DISTFILES) |
eric@51 | 145 | -rm -rf $(DISTNAME) |
eric@51 | 146 | mkdir $(DISTNAME) |
eric@51 | 147 | for f in $(DISTFILES); do ln $$f $(DISTNAME)/$$f; done |
eric@51 | 148 | tar --gzip -chf $(DISTNAME).tar.gz $(DISTNAME) |
eric@51 | 149 | -rm -rf $(DISTNAME) |
eric@51 | 150 | |
eric@51 | 151 | |
eric@161 | 152 | bin-dist-rh: $(BIN_DISTFILES) /etc/redhat-release |
eric@163 | 153 | tar --gzip -chf $(DISTNAME)-rh$(shell sed 's/^Red Hat Linux release \([0-9][0-9.]*\) (.*)/\1/' </etc/redhat-release).tar.gz $(BIN_DISTFILES) |
eric@126 | 154 | |
eric@161 | 155 | bin-dist-fc: $(BIN_DISTFILES) /etc/fedora-release |
eric@161 | 156 | tar --gzip -chf $(DISTNAME)-fc$(shell sed 's/^Fedora Core release \([0-9][0-9.]*\) (.*)/\1/' </etc/fedora-release).tar.gz $(BIN_DISTFILES) |
eric@126 | 157 | |
eric@15 | 158 | clean: |
eric@53 | 159 | rm -f *.o *.d $(TARGETS) $(AUTO_CSRCS) $(AUTO_HDRS) $(AUTO_MISC) |
eric@44 | 160 | |
eric@44 | 161 | very_clean: |
eric@53 | 162 | rm -f *.o *.d $(TARGETS) $(AUTO_CSRCS) $(AUTO_HDRS) $(AUTO_MISC) \ |
eric@44 | 163 | |
eric@15 | 164 | |
eric@20 | 165 | wc: |
eric@51 | 166 | wc -l $(HDRS) $(CSRCS) $(OSRCS) $(MISC) |
eric@20 | 167 | |
eric@20 | 168 | ls-lt: |
eric@51 | 169 | ls -lt $(HDRS) $(CSRCS) $(OSRCS) $(MISC) |
eric@20 | 170 | |
eric@15 | 171 | |
eric@15 | 172 | %.tab.c %.tab.h %.output: %.y |
eric@6 | 173 | $(YACC) $(YFLAGS) $< |
eric@6 | 174 | |
eric@15 | 175 | |
eric@90 | 176 | ALL_CSRCS = $(CSRCS) $(AUTO_CSRCS) $(TEST_CSRCS) |
eric@15 | 177 | |
eric@51 | 178 | DEPENDS = $(ALL_CSRCS:.c=.d) |
eric@15 | 179 | |
eric@15 | 180 | %.d: %.c |
eric@15 | 181 | $(CC) -M -MG $(CFLAGS) $< | sed -e 's@ /[^ ]*@@g' -e 's@^\(.*\)\.o:@\1.d \1.o:@' > $@ |
eric@15 | 182 | |
eric@15 | 183 | include $(DEPENDS) |