diff options
author | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2009-06-05 02:37:43 +0000 |
---|---|---|
committer | Hans-Christoph Steiner <eighthave@users.sourceforge.net> | 2009-06-05 02:37:43 +0000 |
commit | 1a9899f88d9d4216a66f0c58b07f021dd4240e72 (patch) | |
tree | a185c3cf4f06e59a5931d9322f44c6ff70512d93 /Makefile | |
parent | 0d61927687a61812889d190f706b04f705e432a5 (diff) |
first stab at simplified standard Makefile
svn path=/trunk/externals/ext13/; revision=11672
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..456ac86 --- /dev/null +++ b/Makefile @@ -0,0 +1,75 @@ + +LIBRARY_NAME = $(shell basename $(PWD)) + +SOURCES = catch13~.c ext13.c filesize.c ftos.c kalashnikov.c mandelbrot~.c mandelbrot.c messages.c openpatch.c ossmixer.c piperead~.c pipewrite~.c receive13~.c receive13.c scramble~.c send13~.c send13.c sfread.c sfwrite13~.c streamin13~.c streamout13~.c strippath.c throw13~.c wavinfo.c + +CFLAGS = -DPD -I../../pd/src -Wall -W -g +LDFLAGS = +LIBS = -lm + +UNAME := $(shell uname -s) +ifeq ($(UNAME),Darwin) + SOURCES += + EXTENSION = pd_darwin + OS = macosx + CFLAGS += -DUNIX -fPIC + OPT_CFLAGS = -ftree-vectorize -ftree-vectorizer-verbose=2 -fast + LDFLAGS += -bundle -undefined dynamic_lookup + LIBS += -lc + STRIP = strip -x + endif +ifeq ($(UNAME),Linux) + SOURCES += cdplayer.c ossmixer.c promiscous~.c + EXTENSION = pd_linux + OS = linux + OPT_CFLAGS = -O6 -funroll-loops -fomit-frame-pointer + CFLAGS += -DUNIX -fPIC + LDFLAGS += -Wl,--export-dynamic -shared -fPIC + LIBS += -lc + STRIP = strip --strip-unneeded -R .note -R .comment +endif +ifeq (MINGW,$(findstring MINGW,$(UNAME))) + SOURCES += + EXTENSION = dll + OS = windows + OPT_CFLAGS = -03 -funroll-loops -fomit-frame-pointer + WINDOWS_HACKS = -D'O_NONBLOCK=1' -D'srand48(n)=srand((n))' \ + -D'drand48()=((double)rand()/RAND_MAX)' -D'bzero(p,n)=memset(p,0,n)' +# These don't seem to be needed: +# -D'PROT_READ=1' \ +# -D'MAP_PRIVATE=2' \ +# -D'O_NDELAY=O_NONBLOCK' + CFLAGS += -mms-bitfields -DMSW -DNT $(WINDOWS_HACKS) + LDFLAGS += -shared +# all of these included libs are part of libc in UNIX platforms. All except +# libregex are in DLLs, so they get stripped from the external's .dll binary + LIBS += -L$(pd_src)/bin -L$(pd_src)/obj -lpd \ + -lwsock32 -lpthreadGC2 -lkernel32 -luser32 -lgdi32 -lregex + DYLIB_LDFLAGS = -shared + STRIP = strip --strip-unneeded -R .note -R .comment +endif + +CFLAGS += $(OPT_CFLAGS) + + + +all: $(SOURCES:.c=.$(EXTENSION)) + +%.o: %.c + $(CC) $(CFLAGS) -o "$*.o" -c "$*.c" + +%.$(EXTENSION): %.o + $(CC) $(LDFLAGS) -o "$*.$(EXTENSION)" "$*.o" $(LIBS) + chmod a-x "$*.$(EXTENSION)" + $(STRIP) $*.$(EXTENSION) + rm -f -- $*.o + + +clean: + -rm -f -- $(SOURCES:.c=.o) + -rm -f -- $(SOURCES:.c=.$(EXTENSION)) + + +dist: + cd .. && tar cjpf $(LIBRARY_NAME)-$(OS).tar.bz2 $(LIBRARY_NAME) + |