Use const in ss_output.c where possible.
[ahxm.git] / makefile.in
blobd91dca2a72fb758587cbbc845a76636ff2ff8aa9
1 # -*- Mode: sh
3 PROJ=ahxm
4 APPNAME=ahxm
5 LIB=lib$(PROJ).a
6 BIN=ahxm midiin
8 OBJS=support.o sha1.o song.o compiler_l.o compiler_y.o \
9 ss_core.o ss_input.o ss_gen.o ss_eff.o ss_ins.o ss_song.o \
10 ss_output.o ss_outdev.o midi_song.o main.o
12 ADD_DOCS=RELEASE_NOTES TODO README
13 GRUTATXT_DOCS=doc/ahs_overview_i.html \
14 doc/ahs_overview_ii.html \
15 doc/ahs_appendix_1.html
16 MP_DOCCER_DOCS=doc/ahxm_api.html
18 all: $(BIN) $(DOCS)
20 DIST_TARGET=/tmp/$(PROJ)-$(VERSION)
22 ##################################################################
24 version:
25 @echo $(VERSION)
27 .c.o:
28 $(CC) $(CFLAGS) `cat config.cflags` -c $<
30 y.tab.h: compiler.y
31 $(YACC) -d compiler.y
33 y.tab.c: compiler.y
34 $(YACC) -d compiler.y
36 lex.yy.c: compiler.l
37 flex compiler.l
39 compiler_l.o: lex.yy.c y.tab.h
40 $(CC) $(CFLAGS) -c lex.yy.c -o compiler_l.o
42 compiler_y.o: y.tab.c
43 $(CC) $(CFLAGS) -c y.tab.c -o compiler_y.o
45 # library
46 $(LIB): $(OBJS)
47 ar rv $(LIB) $(OBJS)
49 # binaries
50 ahxm: $(LIB)
51 $(CC) $(CFLAGS) $(LIB) -lm `cat config.ldflags` -o $@
53 wav: wav.c $(LIB)
54 $(CC) $(CFLAGS) wav.c $(LIB) -lm `cat config.ldflags` -o $@
56 midiin: midiin.c $(LIB)
57 $(CC) $(CFLAGS) midiin.c $(LIB) -lm `cat config.ldflags` -o $@
59 clean:
60 rm -f $(BIN) $(LIB) $(OBJS) *.o tags *.tar.gz
62 realclean: clean
63 rm -f y.tab.c y.tab.h lex.yy.c
65 distclean: realclean
66 rm -f config.h config.cflags config.ldflags makefile.opts .config.log Makefile
68 .SUFFIXES: .txt .html
70 .txt.html:
71 grutatxt < $< > $@
73 doc/ahxm_api.html: *.c
74 mp_doccer *.c -o doc/ahxm_api -f html1 \
75 -t "Ann Hell Ex Machina API ($(VERSION))" \
76 -a 'Angel Ortega - angel@triptico.com'
78 docsclean:
79 rm -f doc/*.html
81 distcopy: distclean docs y.tab.c y.tab.h lex.yy.c
82 mkdir -p $(DIST_TARGET) ; \
83 tar cf - * | (cd $(DIST_TARGET) ; tar xf -)
85 dist: distcopy
86 (cd /tmp ; tar czf - $(PROJ)-$(VERSION)/* ) > $(PROJ)-$(VERSION).tar.gz ; \
87 rm -rf $(DIST_TARGET)
89 dep:
90 gcc -MM *.c > makefile.depend
92 install:
93 install $(APPNAME) $(PREFIX)/bin
94 ./mkinstalldirs $(PREFIX)/share/doc/$(PROJ)
95 install -m 644 doc/* $(PREFIX)/share/doc/$(PROJ)
96 install -m 644 $(ADD_DOCS) $(PREFIX)/share/doc/$(PROJ)
98 test:
99 ./test.sh