forked from len0rd/rockbox
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21070 a1c6a512-1295-4272-9138-f99709370657
176 lines
4.8 KiB
Makefile
176 lines
4.8 KiB
Makefile
PREFIX = /usr/
|
|
EXT = pd_linux
|
|
|
|
# pd specific
|
|
|
|
VPATH = ../obj:./
|
|
OBJ_DIR = ../obj
|
|
BIN_DIR = ../bin
|
|
|
|
BROOT=/usr
|
|
X11LIB = $(BROOT)/X11R6/lib
|
|
|
|
DEFINES = -DPD -DUNIX
|
|
|
|
pd-gui_INCLUDES = -I$(BROOT)/include/tcl8.4 -I$(BROOT)/X11R6/include
|
|
pd-gui_LIBS = -ltk8.4 -ltcl8.4 -lX11 -ldl
|
|
pd-gui_LDFLAGS = -L$(X11LIB)
|
|
pd-gui_DEFINES = $(DEFINES)
|
|
|
|
pd_LIBS = -lm -lpthread -ldl
|
|
pd_LDFLAGS = -Wl,-export-dynamic
|
|
pd_DEFINES = $(DEFINES) -DINSTALL_PREFIX=\"$(PREFIX)\" \
|
|
-DFIXEDPOINT -DUSEAPI_OSS -DDL_OPEN
|
|
|
|
extra_DEFINES = $(DEFINES) -DFIXEDPOINT
|
|
extra_INCLUDES = -I../src
|
|
extra_LDFLAGS = -shared
|
|
|
|
# IPOD toolchain
|
|
|
|
ifeq ($(CC), arm-elf-gcc)
|
|
pd_LDFLAGS += -elf2flt
|
|
pd_LIBS = -lm -lpthread
|
|
pd_DEFINES = $(DEFINES) -DINSTALL_PREFIX=\"$(PREFIX)\" \
|
|
-DFIXEDPOINT -DUSEAPI_OSS -D__linux__ -Dfork=getpid
|
|
extra_DEFINES += -D__linux__ -Dfork=getpid
|
|
endif
|
|
|
|
# BLACKFIN toolchain
|
|
|
|
ifeq ($(CC), bfin-uclinux-gcc)
|
|
pd_LIBS = -lm -lpthread
|
|
pd_DEFINES = $(DEFINES) -DINSTALL_PREFIX=\"$(PREFIX)\" \
|
|
-DFIXEDPOINT -DUSEAPI_OSS -D__linux__
|
|
extra_DEFINES += -D__linux__
|
|
endif
|
|
|
|
# the sources
|
|
|
|
pd_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_vdial.c g_vslider.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_arithmetic.c d_dac.c d_misc.c \
|
|
d_fft.c d_mayer_fft.c d_fftroutine.c d_global.c \
|
|
d_resample.c d_ctl.c d_soundfile.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 \
|
|
s_midi_oss.c s_audio_oss.c
|
|
|
|
pd_SRC += d_imayer_fft.c m_fixed.c
|
|
|
|
pd_OBJ = $(pd_SRC:.c=.o)
|
|
|
|
pd-gui_SRC = t_main.c t_tkcmd.c
|
|
pd-gui_OBJ = $(pd-gui_SRC:.c=.o)
|
|
|
|
extra_SRC = $(shell ls ../intern/*.c) $(shell ls ../extra/*.c)
|
|
extra_OBJ = $(extra_SRC:.c=.o)
|
|
extra_EXT = $(extra_SRC:.c=.pd_linux)
|
|
|
|
#
|
|
# ------------------ targets ------------------------------------
|
|
#
|
|
|
|
all: $(BIN_DIR)/pd \
|
|
$(BIN_DIR)/pd-gui \
|
|
$(BIN_DIR)/pd-watchdog \
|
|
$(BIN_DIR)/pdsend \
|
|
$(BIN_DIR)/pdreceive \
|
|
$(BIN_DIR)/pd.tk \
|
|
extra
|
|
|
|
pd: $(BIN_DIR)/pd
|
|
pd-gui: $(BIN_DIR)/pd-gui
|
|
pd-watchdog: $(BIN_DIR)/pd-watchdog
|
|
|
|
static:
|
|
make pd_SRC="$(pd_SRC) $(extra_SRC)" DEFINES="-DPD -DUNIX -DSTATIC" \
|
|
pd pd-gui pd-watchdog $(BIN_DIR)/pdsend \
|
|
$(BIN_DIR)/pdreceive $(BIN_DIR)/pd.tk
|
|
|
|
extra: $(extra_EXT)
|
|
|
|
ipod:
|
|
make CC=arm-elf-gcc static
|
|
|
|
blackfin:
|
|
make CC=bfin-uclinux-gcc static
|
|
|
|
$(pd_OBJ) : %.o : %.c
|
|
$(CC) $(CFLAGS) $(pd_DEFINES) $(pd_INCLUDES) -c -o $(OBJ_DIR)/$@ $+
|
|
|
|
$(pd-gui_OBJ) : %.o : %.c
|
|
$(CC) $(CFLAGS) $(pd-gui_DEFINES) $(pd-gui_INCLUDES) -c -o $(OBJ_DIR)/$@ $+
|
|
|
|
$(extra_OBJ) : %.o : %.c
|
|
$(CC) $(CFLAGS) $(extra_DEFINES) $(extra_INCLUDES) -c -o $@ $*.c
|
|
|
|
$(extra_EXT) : %.$(EXT) : %.o
|
|
$(CC) -o $@ $(extra_LDFLAGS) $+
|
|
|
|
$(BIN_DIR)/pd-watchdog: s_watchdog.c
|
|
$(CC) $(CFLAGS) $(DEFINES) -o $@ s_watchdog.c
|
|
|
|
$(BIN_DIR)/pdsend: u_pdsend.c
|
|
$(CC) $(CFLAGS) $(DEFINES) -o $@ u_pdsend.c
|
|
|
|
$(BIN_DIR)/pdreceive: u_pdreceive.c
|
|
$(CC) $(CFLAGS) $(DEFINES) -o $@ u_pdreceive.c
|
|
|
|
$(BIN_DIR)/pd: $(pd_OBJ)
|
|
cd ../obj; $(CC) $(pd_LDFLAGS) -o $@ $(pd_OBJ) $(pd_LIBS)
|
|
|
|
$(BIN_DIR)/pd-gui: $(pd-gui_OBJ)
|
|
cd ../obj; $(CC) -o $@ $(pd-gui_OBJ) $(pd-gui_LDFLAGS) $(pd-gui_LIBS)
|
|
|
|
$(BIN_DIR)/pd.tk: u_main.tk
|
|
echo set pd_nt 0 > $(BIN_DIR)/pd.tk
|
|
grep -v "set pd_nt" < u_main.tk >> $@
|
|
|
|
INSTDIR = $(DESTDIR)/$(PREFIX)
|
|
|
|
install: all
|
|
# Create the directory structure
|
|
|
|
install -d $(INSTDIR)/lib/pd/bin
|
|
install -d $(INSTDIR)/lib/pd/extra
|
|
install -d $(INSTDIR)/lib/pd/intern
|
|
install -d $(INSTDIR)/lib/pd/doc
|
|
install -d $(INSTDIR)/bin
|
|
install -d $(INSTDIR)/include
|
|
|
|
install $(BIN_DIR)/pd-gui $(INSTDIR)/lib/pd/bin/
|
|
install $(BIN_DIR)/pd-watchdog $(INSTDIR)/lib/pd/bin/
|
|
install -m 644 $(BIN_DIR)/pd.tk $(INSTDIR)/lib/pd/bin/
|
|
install -m 755 $(BIN_DIR)/pd $(INSTDIR)/bin/
|
|
install -m 755 $(BIN_DIR)/pdsend $(INSTDIR)/bin/pdsend
|
|
install -m 755 $(BIN_DIR)/pdreceive $(INSTDIR)/bin/pdreceive
|
|
cp -r ../doc/7.stuff $(INSTDIR)/lib/pd/doc
|
|
cp -r ../doc/5.reference $(INSTDIR)/lib/pd/doc
|
|
install -m 644 m_pd.h $(INSTDIR)/include/m_pd.h
|
|
|
|
# Install the externals if possible
|
|
cp ../extra/*.pd_linux $(INSTDIR)/lib/pd/extra
|
|
cp ../intern/*.pd_linux $(INSTDIR)/lib/pd/intern
|
|
|
|
# Install the ICON and desktop file
|
|
install -d $(INSTDIR)/share/pixmaps
|
|
install -d $(INSTDIR)/share/applications
|
|
cp ../ipkg/pd-icon.png $(INSTDIR)/share/pixmaps
|
|
cp ../ipkg/pd.desktop $(INSTDIR)/share/applications/
|
|
|
|
|
|
|
|
clean:
|
|
-rm -f `find ../extra/ -name "*.pd_*"`
|
|
-rm -f tags
|
|
-rm -f ../obj/* $(BIN_DIR)/* ../extra/*.{o,$(EXT)} ../intern/*.{o,$(EXT)}
|
|
-rm -f *~
|
|
-rm -f $(BIN_DIR)/pdsend $(BIN_DIR)/pdreceive
|
|
|