# chugin nameCHUGIN_NAME=Multicomb # all of the c/cpp files that compose this chuginC_MODULES=CXX_MODULES=Odelay.cpp Ocomb.cpp Multicomb.cpp # where the chuck headers areCK_SRC_PATH?=../chuck/include/ # ---------------------------------------------------------------------------- ## you won't generally need to change anything below this line for a new chugin ## ---------------------------------------------------------------------------- # # default target: print usage message and quitcurrent: @echo "[chuck build]: please use one of the following configurations:" @echo " make linux, make osx, or make win32" ifneq ($(CK_TARGET),).DEFAULT_GOAL:=$(CK_TARGET)ifeq ($(MAKECMDGOALS),)MAKECMDGOALS:=$(.DEFAULT_GOAL)endifendif .PHONY: osx linux linux-oss linux-jack linux-alsa win32osx linux linux-oss linux-jack linux-alsa: all win32: make -f makefile.win32 CC?=gccCXX?=g++LD=$(CXX) CHUGIN_PATH=/usr/local/lib/chuck ifneq (,$(strip $(filter osx bin-dist-osx,$(MAKECMDGOALS))))include makefile.osxendif ifneq (,$(strip $(filter linux,$(MAKECMDGOALS))))include makefile.linuxendif ifneq (,$(strip $(filter linux-oss,$(MAKECMDGOALS))))include makefile.linuxendif ifneq (,$(strip $(filter linux-jack,$(MAKECMDGOALS))))include makefile.linuxendif ifneq (,$(strip $(filter linux-alsa,$(MAKECMDGOALS))))include makefile.linuxendif ifneq ($(CHUCK_DEBUG),)FLAGS+= -gelseFLAGS+= -O3endif ifneq ($(CHUCK_STRICT),)FLAGS+= -Werrorendif # default: build a dynamic chuginCK_CHUGIN_STATIC?=0 ifeq ($(CK_CHUGIN_STATIC),0)SUFFIX=.chugelseSUFFIX=.schugFLAGS+= -D__CK_DLL_STATIC__endif C_OBJECTS=$(addsuffix .o,$(basename $(C_MODULES)))CXX_OBJECTS=$(addsuffix .o,$(basename $(CXX_MODULES))) CHUG=$(addsuffix $(SUFFIX),$(CHUGIN_NAME)) all: $(CHUG) $(CHUG): $(C_OBJECTS) $(CXX_OBJECTS)ifeq ($(CK_CHUGIN_STATIC),0) $(LD) $(LDFLAGS) -o $@ $^else ar rv $@ $^ ranlib $@endif $(C_OBJECTS): %.o: %.c $(CC) $(FLAGS) -c -o $@ $< $(CXX_OBJECTS): %.o: %.cpp $(CK_SRC_PATH)/chuck_dl.h $(CXX) $(FLAGS) -c -o $@ $< install: $(CHUG) mkdir -p $(CHUGIN_PATH) cp $^ $(CHUGIN_PATH) chmod 755 $(CHUGIN_PATH)/$(CHUG) clean: rm -rf $(C_OBJECTS) $(CXX_OBJECTS) $(CHUG) Release Debug
# chugin name
CHUGIN_NAME=Multicomb
# all of the c/cpp files that compose this chugin
C_MODULES=
CXX_MODULES=Odelay.cpp Ocomb.cpp Multicomb.cpp
# where the chuck headers are
CK_SRC_PATH?=../chuck/include/
# ---------------------------------------------------------------------------- #
# you won't generally need to change anything below this line for a new chugin #
# ---------------------------------------------------------------------------- #
# default target: print usage message and quit
current:
@echo "[chuck build]: please use one of the following configurations:"
@echo " make linux, make osx, or make win32"
ifneq ($(CK_TARGET),)
.DEFAULT_GOAL:=$(CK_TARGET)
ifeq ($(MAKECMDGOALS),)
MAKECMDGOALS:=$(.DEFAULT_GOAL)
endif
endif
.PHONY: osx linux linux-oss linux-jack linux-alsa win32
osx linux linux-oss linux-jack linux-alsa: all
win32:
make -f makefile.win32
CC?=gcc
CXX?=g++
LD=$(CXX)
CHUGIN_PATH=/usr/local/lib/chuck
ifneq (,$(strip $(filter osx bin-dist-osx,$(MAKECMDGOALS))))
include makefile.osx
endif
ifneq (,$(strip $(filter linux,$(MAKECMDGOALS))))
include makefile.linux
endif
ifneq (,$(strip $(filter linux-oss,$(MAKECMDGOALS))))
include makefile.linux
endif
ifneq (,$(strip $(filter linux-jack,$(MAKECMDGOALS))))
include makefile.linux
endif
ifneq (,$(strip $(filter linux-alsa,$(MAKECMDGOALS))))
include makefile.linux
endif
ifneq ($(CHUCK_DEBUG),)
FLAGS+= -g
else
FLAGS+= -O3
endif
ifneq ($(CHUCK_STRICT),)
FLAGS+= -Werror
endif
# default: build a dynamic chugin
CK_CHUGIN_STATIC?=0
ifeq ($(CK_CHUGIN_STATIC),0)
SUFFIX=.chug
else
SUFFIX=.schug
FLAGS+= -D__CK_DLL_STATIC__
endif
C_OBJECTS=$(addsuffix .o,$(basename $(C_MODULES)))
CXX_OBJECTS=$(addsuffix .o,$(basename $(CXX_MODULES)))
CHUG=$(addsuffix $(SUFFIX),$(CHUGIN_NAME))
all: $(CHUG)
$(CHUG): $(C_OBJECTS) $(CXX_OBJECTS)
ifeq ($(CK_CHUGIN_STATIC),0)
$(LD) $(LDFLAGS) -o $@ $^
else
ar rv $@ $^
ranlib $@
endif
$(C_OBJECTS): %.o: %.c
$(CC) $(FLAGS) -c -o $@ $<
$(CXX_OBJECTS): %.o: %.cpp $(CK_SRC_PATH)/chuck_dl.h
$(CXX) $(FLAGS) -c -o $@ $<
install: $(CHUG)
mkdir -p $(CHUGIN_PATH)
cp $^ $(CHUGIN_PATH)
chmod 755 $(CHUGIN_PATH)/$(CHUG)
clean:
rm -rf $(C_OBJECTS) $(CXX_OBJECTS) $(CHUG) Release Debug