From af2c8a166c053ea29cf543e0a15054bdd0e39799 Mon Sep 17 00:00:00 2001 From: Hans-Christoph Steiner Date: Thu, 8 Apr 2004 03:09:14 +0000 Subject: made mjLib conform to the CVS build system and 0.37 help patch naming scheme svn path=/trunk/externals/mjlib/; revision=1572 --- makefile | 96 +++++++++++++++++++++++++++++++++++++++------------------------- 1 file changed, 59 insertions(+), 37 deletions(-) (limited to 'makefile') diff --git a/makefile b/makefile index 352dd7d..126e864 100644 --- a/makefile +++ b/makefile @@ -1,37 +1,59 @@ -all: mjLib - -VC = "C:\Program Files\Microsoft Visual Studio .NET\Vc7" -INCLUDE = -I. -I..\src \ --I..\Tcl\include -I$(VC)\include -I"C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\Include" - -LDIR = $(VC)\lib -LDIR2 = "C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\lib" - -LIB = /NODEFAULTLIB:libc /NODEFAULTLIB:oldnames /NODEFAULTLIB:kernel \ - /NODEFAULTLIB:uuid \ - $(LDIR)\libc.lib $(LDIR)\oldnames.lib $(LDIR)\kernel32.lib \ - $(LDIR2)\wsock32.lib $(LDIR2)\winmm.lib \ - ..\bin\pd.lib -GLIB = $(LIB) ..\lib\tcl83.lib ..\lib\tk83.lib -CFLAGS = /nologo /W3 /WX /DNT /DPD /Ox /Zi /DVERSION=\"1\" -LFLAGS = /nologo - -SRC = pin~.c mjLib.c metroplus.c monorythm.c prob.c about.c synapseA~.c convolve~.c n2m.c morse.c - -OBJ = $(SRC:.c=.obj) - -.c.obj: - cl /c $(CFLAGS) $(INCLUDE) $*.c - - -mjLib: ..\mjLib\mjLib.dll - -..\mjLib\mjLib.dll ..\mjLib\mjLib.lib: $(OBJ) - link $(LFLAGS) /debug /dll /export:mjLib_setup \ - /out:..\mjLib\mjLib.dll $(OBJ) $(LIB) - - -# the following should also clean up "bin" but it doesn't because "bin" holds -# precious stuff from elsewhere. -clean: - del *.obj + +EXT = pd_linux +DEFS = -DHAVE_LIBC=1 -DHAVE_LIBM=1 -DHAVE_LIBPTHREAD=1 -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_SELECT=1 -DHAVE_SOCKET=1 -DHAVE_STRERROR=1 -DPD_VERSION_MINOR=32 +CC = gcc +CXX = c++ +LD = ld +AFLAGS = +LFLAGS = -export_dynamic -shared +WFLAGS = +IFLAGS = -I./include -I../src +INSTALL_PREFIX=/usr/local + +VERSION = \"$(shell cat VERSION)\" + +.SUFFIXES: .$(EXT) + +PDCFLAGS = -g -O2 $(DEFS) $(IFLAGS) $(WFLAGS) $(LFLAGS) $(AFLAGS) -DVERSION=$(VERSION) +CFLAGS = -g -O2 $(DEFS) $(IFLAGS) $(WFLAGS) -DVERSION=$(VERSION) +CXXFLAGS = $(CFLAGS) + +#LIBS = -lc -lm +LIBS = -lpthread -lm -lc +SOURCES = pin~.c mjLib.c metroplus.c monorythm.c prob.c about.c synapseA~.c convolve.c +TARGETS = $(SOURCES:.c=.$(EXT)) + +all: $(TARGETS) + +mjLib: $(TARGETS) + cc -c $(CFLAGS) -DPD mjLib.c + $(LD) -export_dynamic -shared -o mjLib.pd_linux *.o $(LIBS) + strip --strip-unneeded mjLib.pd_linux + +clean:: + -rm *.$(EXT) *.o + +distclean: clean + -rm config.cache config.log config.status makefile + + + +.c.o: + $(CC) -c -o $@ $(CFLAGS) -DPD $*.c + +# cp $@ $*_stat.o + +.o.pd_linux: + $(CC) -o $@ $(PDCFLAGS) -DPD $*.o + + + +install:: + install -d $(INSTALL_PREFIX)/pd/externs + install -m 644 *.$(EXT) $(INSTALL_PREFIX)/pd/externs + -install -m 644 mjLib.pd_linux $(INSTALL_PREFIX)/pd/externs + install -m 644 doc/*.pd $(INSTALL_PREFIX)/pd/doc/5.reference + + +dist: distclean + (cd ..;tar czvf mjLib.tar.gz mjLib) -- cgit v1.2.1