[PD-cvs] pd/src makefile.mingw,NONE,1.1.2.1

carmen rocco ix9 at users.sourceforge.net
Sat Mar 27 17:32:14 CET 2004


Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21195

Added Files:
      Tag: impd_0_37
	makefile.mingw 
Log Message:
build pd with mingw...


--- NEW FILE: makefile.mingw ---
VPATH = ../obj:./
OBJ_DIR = ../obj
BIN_DIR = ../bin
INSTDIR = ../
PDEXEC = pd.exe
GUINAME= pdtcl.dll
DLLWRAP= dllwrap

prefix = ../
GFLAGS = -DINSTALL_PREFIX=\"$(prefix)\"

MORECFLAGS =  -g

PADIR = ../portaudio
INCPA = -I$(PADIR) -I$(PADIR)/pa_common -I$(PADIR)/pablio -I../lib/asio
INCLUDE = $(INCPA) 
GINCLUDE = $(INCLUDE) -I../tcl/include

LDFLAGS = -lpthreadGC -lwsock32 -lportaudio -lwinmm ../bin/tcl85.lib ../bin/tk85.lib
LIB =   -lm

OPT_CFLAGS = 
WARN_CFLAGS = -Wall -W -Wstrict-prototypes  \
    -Wno-unused-parameter -Wno-parentheses -Wno-switch
ARCH_CFLAGS = -DPD -DPD_INTERNAL -DMSW -DUSEAPI_MMIO -DUSEAPI_PORTAUDIO -DDONTUSESIMD \

CFLAGS += $(ARCH_CFLAGS) $(WARN_CFLAGS) $(OPT_CFLAGS) $(MORECFLAGS)

# the sources

SYSSRC += s_audio_pa.c s_audio_mmio.c s_midi_mmio.c

PASRC = $(PADIR)/pa_common/pa_lib.c $(PADIR)/pa_common/pa_trace.c \
	$(PADIR)/pablio/pablio_pd.c $(PADIR)/pablio/ringbuffer_pd.c	

GSRC =  t_main.c t_tkcmd.c

SRC = g_canvas.c g_graph.c g_text.c g_rtext.c g_array.c g_template.c g_io.c \
    g_scalar.c g_traversal.c g_guiconnect.c g_readwrite.c g_editor.c \
    g_all_guis.c g_bang.c g_hdial.c g_hslider.c g_mycanvas.c g_numbox.c \
    g_toggle.c g_vumeter.c \
    m_pd.c m_class.c m_obj.c m_atom.c m_memory.c m_binbuf.c \
    m_conf.c m_glob.c m_sched.c \
    s_main.c s_inter.c s_file.c s_print.c \
    s_loader.c s_path.c s_entry.c s_audio.c s_midi.c \
    d_ugen.c d_ctl.c d_arithmetic.c d_osc.c d_filter.c d_dac.c d_misc.c \
    d_math.c d_fft.c d_mayer_fft.c d_fftroutine.c d_array.c d_global.c \
    d_delay.c d_resample.c \
    x_arithmetic.c x_connective.c x_interface.c x_midi.c x_misc.c \
    x_time.c x_acoustics.c x_net.c x_qlist.c x_gui.c d_soundfile.c \
    m_simd_sse_vc.c m_simd_sse_gcc.c m_simd_ve_gcc.c \
    $(SYSSRC)

SRSRC = u_pdsend.c u_pdreceive.c

OBJ = $(SRC:.c=.o) 
GOBJ = $(GSRC:.c=.o)
PAOBJ = $(PASRC:.c=.o)
SROBJ = $(SRSRC:.c=.o) 
OBJC = $(OBJ) $(PAOBJ)

#
#  ------------------ targets ------------------------------------
#

.PHONY: pd gui all

all: $(BIN_DIR)/$(PDEXEC) $(BIN_DIR)/$(PDDLL) $(BIN_DIR)/$(GUINAME) \
    $(BIN_DIR)/pdsend.exe $(BIN_DIR)/pdreceive.exe  $(BIN_DIR)/pd.tk

bin: $(BIN_DIR)/$(PDEXEC) $(BIN_DIR)/$(GUINAME) $(BIN_DIR)/pdsend \
    $(BIN_DIR)/pdreceive  $(BIN_DIR)/pd.tk

$(OBJ) : %.o : %.c
	$(CC) $(CFLAGS) $(GFLAGS) $(INCLUDE) -c -o $(OBJ_DIR)/$*.o $*.c 

$(GOBJ) : %.o : %.c
	$(CC) $(CFLAGS) $(GFLAGS) $(GINCLUDE) -c -o $(OBJ_DIR)/$*.o $*.c 

pd: $(PDDLL) $(PDEXEC)

gui: $(GUINAME)

$(BIN_DIR)/pdsend.exe: u_pdsend.o
	$(CC) $(CFLAGS)  $(STRIPFLAG) -o $(BIN_DIR)/pdsend.exe u_pdsend.o $(LDFLAGS)

$(BIN_DIR)/pdreceive.exe: u_pdreceive.o
	$(CC) $(CFLAGS)  $(STRIPFLAG) -o $(BIN_DIR)/pdreceive.exe u_pdreceive.o $(LDFLAGS)

$(BIN_DIR)/$(PDDLL): $(OBJC)
	cd ../obj;  $(CC) $(DBG_CFLAGS) -o $(BIN_DIR)/pd.dll $(OBJC) $(LIB) $(LDFLAGS)
	cd ../obj; $(DLLWRAP) --export-all-symbols --output-def $(BIN_DIR)/pd.def \
	--output-lib=$(BIN_DIR)/pd.a --dllname=$(BIN_DIR)/pd.dll $(OBJC) $(LDFLAGS)

$(BIN_DIR)/$(PDEXEC): s_entry.o
	cd ../obj;  $(CC) $(DBG_CFLAGS) -o $(BIN_DIR)/$(PDEXEC) $(OBJ_DIR)/s_entry.o $(LIB) $(BIN_DIR)/pd.a $(LDFLAGS)

$(BIN_DIR)/$(GUINAME): t_tkcmd.o
	cd ../obj; $(CC) $(INCLUDE) -o $(BIN_DIR)/$(GUINAME) $(OBJ_DIR)/t_tkcmd.o $(LIB) $(BIN_DIR)/pdtcl.a $(LDFLAGS)
	cd ../obj; $(DLLWRAP) --export-all-symbols --output-def $(BIN_DIR)/pdtcl.def \
	--output-lib=$(BIN_DIR)/pdtcl.a --dllname=$(BIN_DIR)/$(GUINAME) $(OBJ_DIR)/t_tkcmd.o $(LDFLAGS)

$(BIN_DIR)/pd.tk: u_main.tk
	echo set pd_nt  > $(BIN_DIR)/pd.tk
	grep -v "set pd_nt" < u_main.tk >> $(BIN_DIR)/pd.tk
	
$(BIN_DIR)/pdsend.exe: u_pdsend.o
	$(CC) $(CFLAGS)  $(STRIPFLAG) -o $(BIN_DIR)/pdsend.exe u_pdsend.o $(LDFLAGS)

INSTDIR = $(DESTDIR)/$(prefix)
MANINSTDIR = $(DESTDIR)/$(MANDIR)

install:  all
	install -d $(INSTDIR)/lib/pd/bin
	install $(BIN_DIR)/$(GUINAME) $(INSTDIR)/lib/pd/bin/$(GUINAME)
	install -m644 $(BIN_DIR)/pd.tk $(INSTDIR)/lib/pd/bin/pd.tk
	install -m644 u_object.tk $(INSTDIR)/lib/pd/bin/u_object.tk
	install -d $(INSTDIR)/bin
	install -m755 $(PDEXEC) $(INSTDIR)/bin/pd
	install -m 755 $(BIN_DIR)/pdsend.exe $(INSTDIR)/bin/pdsend.exe
	install -m 755 $(BIN_DIR)/pdreceive.exe $(INSTDIR)/bin/pdreceive.exe 
	cp -r ../doc $(INSTDIR)/lib/pd/
	install -d $(INSTDIR)/include
	install -m644 m_pd.h $(INSTDIR)/include/m_pd.h
	install -d $(MANINSTDIR)/man1
	gzip < ../man/pd.1 >  $(MANINSTDIR)/man1/pd.1.gz
	chmod 644 $(MANINSTDIR)/man1/pd.1.gz
	gzip < ../man/pdsend.1 >  $(MANINSTDIR)/man1/pdsend.1.gz
	chmod 644 $(MANINSTDIR)/man1/pdsend.1.gz
	gzip < ../man/pdreceive.1 >  $(MANINSTDIR)/man1/pdreceive.1.gz
	chmod 644 $(MANINSTDIR)/man1/pdreceive.1.gz
# extra docs
	install -m644 ../extra/*/*.pd $(INSTDIR)/lib/pd/doc/5.reference/
	install -m644 ../extra/*help*.pd $(INSTDIR)/lib/pd/doc/5.reference/
# abstractions
	cd ../extra && \
			install -m644 complex-mod~.pd hilbert~.pd rev*.pd $(INSTDIR)/lib/pd/extra

local-clean:
	-rm -f ../obj/* $(BIN_DIR)/pd.exe $(BIN_DIR)/pd.dll $(BIN_DIR)/$(GUINAME) \
	$(BIN_DIR)/pdsend.exe $(BIN_DIR)/pdreceive.exe m_stamp.c
	-rm -f *~
	-rm -f makefile.dependencies
	touch makefile.dependencies
	chmod 666 makefile.dependencies

extra-clean:
	-rm -f `find ../extra/ -name "*.pd_*"`
	-rm -f tags

clean: extra-clean local-clean

distclean: clean
	rm -rf config.cache config.log config.status makefile tags \
	     autom4te-*.cache
	echo all: > makefile
	echo -e  "\t./configure" >> makefile
	echo -e "\tmake" >> makefile

tags: $(SRC) $(GSRC); ctags *.[ch]

depend: 
	$(CC) $(INCLUDE) $(CFLAGS) -M $(SRC) > makefile.dependencies

uninstall:
	-rm -r $(INSTDIR)/lib/pd
	-rm $(INSTDIR)/bin/pd.exe
	-rm $(INSTDIR)/bin/pd.dll
	-rm $(INSTDIR)/bin/pdsend.exe
	-rm $(INSTDIR)/bin/pdreceive.exe
	-rm $(INSTDIR)/include/m_pd.h

include makefile.dependencies





More information about the Pd-cvs mailing list