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