Fix 0^n generating error for fractional n
[gcalctool.git] / src / Makefile.am
blob3a23f658416547c1db7d4df80aa71a27a3947a9a
1 bin_PROGRAMS = gcalctool gcalccmd
2 noinst_PROGRAMS = test-mp test-mp-equation
4 TESTS = test-mp test-mp-equation
6 INCLUDES = \
7         -DUI_DIR=\""$(datadir)/gcalctool"\" \
8         -DVERSION=\""$(VERSION)"\" \
9         -DLOCALE_DIR=\""$(localedir)"\" \
10         -DGETTEXT_PACKAGE=\"$(GETTEXT_PACKAGE)\" \
11         $(WARN_CFLAGS) \
12         $(GCALCTOOL_CFLAGS)
14 gcalctool_SOURCES = \
15         gcalctool.c \
16         currency.c \
17         currency.h \
18         currency-manager.c \
19         currency-manager.h \
20         math-buttons.c \
21         math-buttons.h \
22         math-converter.c \
23         math-converter.h \
24         math-display.c \
25         math-display.h \
26         math-equation.c \
27         math-equation.h \
28         math-preferences.c \
29         math-preferences.h \
30         math-variables.c \
31         math-variables.h \
32         math-variable-popup.c \
33         math-variable-popup.h \
34         math-window.c \
35         math-window.h \
36         mp.c \
37         mp.h \
38         mp-binary.c \
39         mp-convert.c \
40         mp-enums.c \
41         mp-enums.h \
42         mp-equation.c \
43         mp-equation.h \
44         mp-equation-private.h \
45         mp-equation-lexer.c \
46         mp-equation-lexer.h \
47         mp-equation-parser.c \
48         mp-equation-parser.h \
49         mp-private.h \
50         mp-serializer.c \
51         mp-serializer.h \
52         mp-trigonometric.c \
53         financial.c \
54         financial.h \
55         unit.c \
56         unit.h \
57         unit-category.c \
58         unit-category.h \
59         unit-manager.c \
60         unit-manager.h
62 gcalctool_LDADD = \
63         $(GCALCTOOL_LIBS)        
65 gcalccmd_SOURCES = \
66         gcalccmd.c \
67         currency.c \
68         currency.h \
69         currency-manager.c \
70         currency-manager.h \
71         mp.c \
72         mp-binary.c \
73         mp-convert.c \
74         mp-enums.c \
75         mp-enums.h \
76         mp-equation.c \
77         mp-equation-parser.c \
78         mp-equation-lexer.c \
79         mp-serializer.c \
80         mp-serializer.h\
81         mp-trigonometric.c \
82         unit.c \
83         unit.h \
84         unit-category.c \
85         unit-category.h \
86         unit-manager.c \
87         unit-manager.h
89 gcalccmd_LDADD = \
90         $(GCALCCMD_LIBS) \
91         -lm
93 test_mp_SOURCES = \
94         test-mp.c \
95         mp.c \
96         mp-binary.c \
97         mp-convert.c \
98         mp-enums.c \
99         mp-enums.h \
100         mp-serializer.c \
101         mp-serializer.h \
102         mp-trigonometric.c
104 test_mp_LDADD = \
105         $(GCALCCMD_LIBS) \
106         -lm
108 test_mp_equation_SOURCES = \
109         test-mp-equation.c \
110         currency.c \
111         currency.h \
112         currency-manager.c \
113         currency-manager.h \
114         mp.c \
115         mp-convert.c \
116         mp-binary.c \
117         mp-enums.c \
118         mp-enums.h \
119         mp-equation.c \
120         mp-equation-parser.c \
121         mp-equation-lexer.c \
122         mp-serializer.c \
123         mp-serializer.h \
124         mp-trigonometric.c \
125         unit.c \
126         unit.h \
127         unit-category.c \
128         unit-category.h \
129         unit-manager.c \
130         unit-manager.h
132 test_mp_equation_LDADD = \
133         $(GCALCCMD_LIBS) \
134         -lm
136 CLEANFILES = \
137         mp-enums.c \
138         mp-enums.h \
139         mp-equation-parser.h \
140         mp-equation-parser.c \
141         mp-equation-lexer.c \
142         mp-equation-lexer.h
144 # Generate parser files
145 mp-equation-parser.c mp-equation-parser.h: mp-equation-parser.y mp-equation-lexer.h
146         $(AM_V_GEN)$(YACC) -d -o mp-equation-parser.c $(srcdir)/mp-equation-parser.y
148 # Generate lexer files
149 mp-equation-lexer.c mp-equation-lexer.h: mp-equation-lexer.l
150         $(AM_V_GEN)$(LEX) $(srcdir)/mp-equation-lexer.l
152 # Rebuild parser when source files change
153 mp-equation-parser.o: mp-equation-lexer.h
154 mp-equation-lexer.o: mp-equation-parser.h
155 mp-equation.c: mp-equation-lexer.h mp-equation-parser.h
157 # Generate enum types
158 mp-enums.h: mp-enums.h.template mp-serializer.h
159         $(AM_V_GEN)$(GLIB_MKENUMS) --template $(srcdir)/mp-enums.h.template $(srcdir)/mp-serializer.h > mp-enums.h
161 mp-enums.c: mp-enums.c.template mp-enums.h mp-serializer.h
162         $(AM_V_GEN)$(GLIB_MKENUMS) --template $(srcdir)/mp-enums.c.template $(srcdir)/mp-serializer.h > mp-enums.c
164 # Fix dependencies
165 math-serializer.c: mp-enums.h
166 math-equation.c: mp-enums.h
168 # Install a symlink between gcalctool and gnome-calculator
169 install-exec-hook:
170         test -e "$(DESTDIR)$(bindir)/gnome-calculator" \
171         || (cd "$(DESTDIR)$(bindir)" && ln -s gcalctool gnome-calculator)
173 # Remove the symlink between gcalctool and gnome-calculator
174 uninstall-local:
175         test -h "$(DESTDIR)$(bindir)/gnome-calculator" \
176         && rm -f "$(DESTDIR)$(bindir)/gnome-calculator"
178 EXTRA_DIST = \
179         mp-equation-parser.y \
180         mp-equation-lexer.l \
181         mp-enums.c.template \
182         mp-enums.h.template
184 DISTCLEANFILES = \
185         Makefile.in
187 test: gcalctool
188         ./gcalctool -u