diff options
Diffstat (limited to 'build/autoconf/Makefile')
-rw-r--r-- | build/autoconf/Makefile | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/build/autoconf/Makefile b/build/autoconf/Makefile new file mode 100644 index 0000000..86a472d --- /dev/null +++ b/build/autoconf/Makefile @@ -0,0 +1,140 @@ +default: all + +.PHONEY: default all everything dist \ + clean realclean distclean \ + install install-bin install-doc install-abs \ + tests + + +TESTDIR=../tests + +HELPERSOURCES=z_zexy.c zexy.c winNT_portio.c + +OBJECTSOURCES=$(sort $(filter-out $(HELPERSOURCES), $(filter %.c, $(wildcard *.c)))) + +SOURCES=$(OBJECTSOURCES) $(HELPERSOURCES) + +zexyconf.h: zexyconf.h.in configure + ./configure $(CONFIGUREFLAGS) + +configure: configure.ac aclocal.m4 + autoconf + +aclocal.m4: acinclude.m4 + aclocal + +-include $(SOURCES:.c=.d) + +Make.config: Make.config.in configure + ./configure $(CONFIGUREFLAGS) + +z_zexy.c z_zexy.h: + ./makesource.sh + +-include Make.config + +## 2nd only generate depend-files when we have Make.config included +## and thus MAKEDEP_FLAGS defined +ifdef MAKEDEP_FLAGS +## dependencies: as proposed by the GNU-make documentation +## see http://www.gnu.org/software/make/manual/html_node/make_47.html#SEC51 +%.d: %.c + @set -e; rm -f $@; \ + $(CPP) $(MAKEDEP_FLAGS) $(Z_CFLAGS) $< > $@.$$$$; \ + sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \ + rm -f $@.$$$$ +endif + +.SUFFIXES: .$(EXT) + +TARGETS = $(SOURCES:.c=.o) + +OBJECTS = $(OBJECTSOURCES:.c=.$(EXT)) + +## if $(BUILDLIBRARY) is defined, we build everything as a single library +## else we build separate externals +ifneq "$(BUILDLIBRARY)" "" +all: $(LIBNAME) + cp $(LIBNAME).$(EXT) .. +else +all: $(OBJECTS) +endif + +$(OBJECTS): %.$(EXT) : %.o + $(LD) $(LFLAGS) -o $@ $*.o $(LIBS) + $(STRIP) $(STRIPFLAGS) $@ + +$(LIBNAME): $(TARGETS) z_zexy.c z_zexy.h + $(LD) $(LFLAGS) -o $@.$(EXT) *.o $(LIBS) + $(STRIP) $(STRIPFLAGS) $@.$(EXT) + +$(TARGETS): %.o : %.c + $(CC) $(Z_CFLAGS) -c -o $@ $*.c + +externals: $(OBJECTS) + +clean: + -rm -f *.$(EXT) *.o + +realclean: clean alias-clean + -rm -f *~ _* config.* + -rm -f *.d *.d.* + +distclean: realclean + -rm -f Make.config zexyconf.h ../*.$(EXT) + -rm -f zexy.exp zexy.lib zexy.ncb \ + zexy.opt zexy.plg + -rm -rf autom4te.cache/ + +tests: all + make -C $(TESTDIR) + +alias: alias-bin alias-abs + +alias-bin: all + ./makealias.sh ../src/alias ../src ../reference + +alias-abs: + ./makealias.sh ../abs/alias ../abs + +alias-clean: alias-clean-bin alias-clean-abs + +alias-clean-bin: + ./makealias.sh -clean ../src/alias ../src ../reference + +alias-clean-abs: + ./makealias.sh -clean ../abs/alias ../abs + +install: all alias install-abs install-bin install-doc + +install-bin: + -install -d $(INSTALL_BIN) + -install -m 644 $(LIBNAME).$(EXT) $(INSTALL_BIN) + +install-doc: + -install -d $(INSTALL_DOC) + -install -m 644 ../reference/*.pd $(INSTALL_DOC) + +install-abs: + -install -d $(INSTALL_BIN) + -install -m 644 ../abs/*.pd $(INSTALL_BIN) + + +uninstall-bin: + -install -d $(INSTALL_BIN) + -install -m 644 $(LIBNAME).$(EXT) $(INSTALL_BIN) + +uninstall-doc: + -install -d $(INSTALL_DOC) + -install -m 644 ../reference/*.pd $(INSTALL_DOC) + +uninstall-abs: + -install -d $(INSTALL_BIN) + -install -m 644 ../abs/*.pd $(INSTALL_BIN) + + +dist: all realclean + (cd ../..;tar czvf $(TARNAME) $(LIBNAME)) + +everything: clean all install distclean + |