Updated RELEASE_NOTES.
[ahxm.git] / makefile.in
blobe752409e1ff30ce90e3c17e62dc6678941a1ce8d
1 # -*- Mode: sh
3 PROJ=annhell
4 LIB=lib$(PROJ).a
5 DOCS=
6 BIN=annhell 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 all: $(BIN)
14 ##################################################################
16 version:
17 @echo $(VERSION)
19 ChangeLog:
20 cvs2cl --fsf --stdout > Changelog
22 .c.o:
23 $(CC) $(CFLAGS) `cat config.cflags` -c $<
25 y.tab.h: compiler.y
26 $(YACC) -d compiler.y
28 y.tab.c: compiler.y
29 $(YACC) -d compiler.y
31 lex.yy.c: compiler.l
32 flex compiler.l
34 compiler_l.o: lex.yy.c y.tab.h
35 $(CC) $(CFLAGS) -c lex.yy.c -o compiler_l.o
37 compiler_y.o: y.tab.c
38 $(CC) $(CFLAGS) -c y.tab.c -o compiler_y.o
40 # library
41 $(LIB): $(OBJS)
42 ar rv $(LIB) $(OBJS)
44 # binaries
45 annhell: $(LIB)
46 $(CC) $(LIB) -lm `cat config.ldflags` -o $@
48 wav: wav.c $(LIB)
49 $(CC) $(CFLAGS) wav.c $(LIB) -lm `cat config.ldflags` -o $@
51 midiin: midiin.c $(LIB)
52 $(CC) $(CFLAGS) midiin.c $(LIB) -lm `cat config.ldflags` -o $@
54 clean:
55 rm -f $(BIN) $(LIB) $(OBJS) *.o tags *.tar.gz
57 realclean: clean
58 rm -f y.tab.c y.tab.h lex.yy.c
60 distclean: realclean docsclean
61 rm -f config.h config.cflags config.ldflags makefile.opts .config.log Makefile
63 docs:
64 -mp_doccer *.c -o doc/annhell_api -f html1 \
65 -t "Ann Hell Ex Machina API ($(VERSION))" \
66 -a 'Angel Ortega - angel@triptico.com'
67 -grutatxt -i doc/language.txt -o doc/language.html
68 -grutatxt -i doc/language2.txt -o doc/language2.html
70 docsclean:
71 rm -f doc/*.html
73 dist: distclean ChangeLog y.tab.c y.tab.h lex.yy.c
74 cd .. ; ln -s $(PROJ) $(PROJ)-$(VERSION); \
75 tar czvf $(PROJ)-$(VERSION)/$(PROJ)-$(VERSION).tar.gz --exclude=CVS $(PROJ)-$(VERSION)/* ; \
76 rm $(PROJ)-$(VERSION)
78 dep:
79 gcc -MM *.c > makefile.depend
81 install:
82 install annhell $(PREFIX)/bin
83 # mkdir -p $(PREFIX)/share/doc/$(PROJ)
84 # cp $(DOCS) $(PREFIX)/share/doc/$(PROJ)