3
.PHONEY: default all everything dist \
4
clean realclean distclean \
5
install install-bin install-doc install-abs \
10
TESTDIR=$(LIBDIR)/tests
11
SOURCEDIR=$(LIBDIR)/src
13
HELPERSOURCES=$(SOURCEDIR)/z_zexy.c $(SOURCEDIR)/zexy.c $(SOURCEDIR)/winNT_portio.c
15
OBJECTSOURCES=$(sort $(filter-out $(HELPERSOURCES), $(filter %.c, $(wildcard $(SOURCEDIR)/*.c))))
17
SOURCES=$(OBJECTSOURCES) $(HELPERSOURCES)
22
-include $(SOURCES:.c=.d)
26
## 2nd only generate depend-files when we have Make.config included
27
## and thus MAKEDEP_FLAGS defined
29
## dependencies: as proposed by the GNU-make documentation
30
## see http://www.gnu.org/software/make/manual/html_node/make_47.html#SEC51
33
$(CPP) $(MAKEDEP_FLAGS) $(Z_CFLAGS) $< > $@.$$$$; \
34
sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
40
TARGETS = $(SOURCES:.c=.o)
42
OBJECTS = $(OBJECTSOURCES:.c=.$(EXT))
44
## if $(BUILDLIBRARY) is defined, we build everything as a single library
45
## else we build separate externals
46
ifneq "$(BUILDLIBRARY)" ""
48
cp $(LIBNAME).$(EXT) $(LIBDIR)
53
$(OBJECTS): %.$(EXT) : %.o
54
$(CC) $(LDFLAGS) -o $@ $*.o $(LIBS)
55
$(STRIP) $(STRIPFLAGS) $@
57
$(LIBNAME): $(TARGETS) z_zexy.c z_zexy.h
58
$(CC) $(LDFLAGS) -o $@.$(EXT) $(SOURCEDIR)/*.o $(LIBS)
59
$(STRIP) $(STRIPFLAGS) $@.$(EXT)
62
$(CC) $(Z_CFLAGS) -c -o $@ $*.c
67
-rm -f $(SOURCEDIR)/*.$(EXT) $(SOURCEDIR)/*.o
69
realclean: clean alias-clean
71
-rm -f $(SOURCEDIR)/*.d $(SOURCEDIR)/*.d.* $(SOURCEDIR)/*~
74
-rm -f Make.config $(SOURCEDIR)/zexyconf.h $(LIBDIR)/*.$(EXT)
75
-rm -rf autom4te.cache aclocal.m4
80
alias: alias-bin alias-abs
83
$(SOURCEDIR)/makealias.sh $(SOURCEDIR)/alias $(SOURCEDIR) $(LIBDIR)/reference
86
$(SOURCEDIR)/makealias.sh $(SOURCEDIR)/alias $(LIBDIR)/abs
88
alias-clean: alias-clean-bin alias-clean-abs
91
$(SOURCEDIR)/makealias.sh -clean $(SOURCEDIR)/alias $(SOURCEDIR) $(LIBDIR)/reference
94
$(SOURCEDIR)/makealias.sh -clean $(SOURCEDIR)/alias $(LIBDIR)/abs
96
install: all alias install-abs install-bin install-doc
99
-install -d $(INSTALL_BIN)
100
-install -m 644 $(LIBDIR)$(LIBNAME).$(EXT) $(INSTALL_BIN)
103
-install -d $(INSTALL_DOC)
104
-install -m 644 $(LIBDIR)/reference/*.pd $(INSTALL_DOC)
107
-install -d $(INSTALL_BIN)
108
-install -m 644 $(LIBDIR)/abs/*.pd $(INSTALL_BIN)
112
-install -d $(INSTALL_BIN)
113
-install -m 644 $(LIBNAME).$(EXT) $(INSTALL_BIN)
116
-install -d $(INSTALL_DOC)
117
-install -m 644 $(LIBDIR)/reference/*.pd $(INSTALL_DOC)
120
-install -d $(INSTALL_BIN)
121
-install -m 644 $(LIBDIR)/abs/*.pd $(INSTALL_BIN)
125
(cd $(LIBDIR)/..;tar czvf $(TARNAME) $(LIBNAME))
127
everything: clean all install distclean