|
- #!/usr/bin/make -f
- # Makefile for jackbridge #
- # ----------------------- #
- # Created by falkTX
- #
-
- CWD=..
- MODULENAME=jackbridge
- include ../modules/Makefile.mk
-
- # ---------------------------------------------------------------------------------------------------------------------
-
- BUILD_CXX_FLAGS += $(JACKBRIDGE_FLAGS)
- LINK_FLAGS += $(JACKBRIDGE_LIBS)
-
- WINE_32BIT_FLAGS = $(32BIT_FLAGS) -fpermissive
- WINE_64BIT_FLAGS = $(64BIT_FLAGS) -fpermissive
- WINE_LINK_FLAGS = $(LINK_FLAGS) $(LIBDL_LIBS) -lpthread -lstdc++
-
- ifeq ($(JACKBRIDGE_DIRECT),true)
- BUILD_CXX_FLAGS += $(JACK_FLAGS) -DJACKBRIDGE_DIRECT
- LINK_FLAGS += $(JACK_LIBS)
- endif
-
- ifneq ($(MACOS),true)
- WINE_32BIT_FLAGS += -I/usr/include/wine/wine/windows
- WINE_32BIT_FLAGS += -I/usr/include/wine-development/windows
- WINE_32BIT_FLAGS += -L/usr/lib32/wine
- WINE_32BIT_FLAGS += -L/usr/lib/i386-linux-gnu/wine
- WINE_32BIT_FLAGS += -L/usr/lib/i386-linux-gnu/wine-development
- WINE_32BIT_FLAGS += -L/opt/wine-staging/lib
- WINE_32BIT_FLAGS += -L/opt/wine-staging/lib/wine
-
- WINE_64BIT_FLAGS += -I/usr/include/wine/wine/windows
- WINE_64BIT_FLAGS += -I/usr/include/wine-development/windows
- WINE_64BIT_FLAGS += -L/usr/lib64/wine
- WINE_64BIT_FLAGS += -L/usr/lib/x86_64-linux-gnu/wine
- WINE_64BIT_FLAGS += -L/usr/lib/x86_64-linux-gnu/wine-development
- WINE_64BIT_FLAGS += -L/opt/wine-staging/lib64
- WINE_64BIT_FLAGS += -L/opt/wine-staging/lib64/wine
-
- WINE_LINK_FLAGS += -lrt
- endif
-
- # ---------------------------------------------------------------------------------------------------------------------
-
- OBJS = $(OBJDIR)/JackBridge1.cpp.o $(OBJDIR)/JackBridge2.cpp.o
- OBJS_arm32 = $(OBJDIR)/JackBridge1.cpp.arm32.o $(OBJDIR)/JackBridge2.cpp.arm32.o
- OBJS_posix32 = $(OBJDIR)/JackBridge1.cpp.posix32.o $(OBJDIR)/JackBridge2.cpp.posix32.o
- OBJS_posix64 = $(OBJDIR)/JackBridge1.cpp.posix64.o $(OBJDIR)/JackBridge2.cpp.posix64.o
- OBJS_win32 = $(OBJDIR)/JackBridge1.cpp.win32.o $(OBJDIR)/JackBridge2.cpp.win32.o
- OBJS_win64 = $(OBJDIR)/JackBridge1.cpp.win64.o $(OBJDIR)/JackBridge2.cpp.win64.o
- OBJS_wine32 = $(OBJDIR)/JackBridge1.cpp.wine32.o $(OBJDIR)/JackBridge2.cpp.wine32.o $(OBJDIR)/JackBridge3.cpp.wine32.o
- OBJS_wine64 = $(OBJDIR)/JackBridge1.cpp.wine64.o $(OBJDIR)/JackBridge2.cpp.wine64.o $(OBJDIR)/JackBridge3.cpp.wine64.o
-
- OBJS_posix32e = $(OBJDIR)/JackBridgeExport.cpp.posix32e.o
- OBJS_posix64e = $(OBJDIR)/JackBridgeExport.cpp.posix64e.o
- OBJS_win64e = $(OBJDIR)/JackBridgeExport.cpp.win64e.o
- OBJS_win32e = $(OBJDIR)/JackBridgeExport.cpp.win32e.o
-
- # ---------------------------------------------------------------------------------------------------------------------
-
- all: $(MODULEDIR)/$(MODULENAME).a
-
- ifeq ($(WIN32),true)
- posix32:
- posix64:
- posix32e:
- posix64e:
- win32: $(MODULEDIR)/$(MODULENAME).win32.a
- win64: $(MODULEDIR)/$(MODULENAME).win64.a
- win32e: $(MODULEDIR)/$(MODULENAME).win32e.a
- win64e: $(MODULEDIR)/$(MODULENAME).win64e.a
- wine32:
- wine64:
- else
- arm32: $(MODULEDIR)/$(MODULENAME).arm32.a
- posix32: $(MODULEDIR)/$(MODULENAME).posix32.a
- posix64: $(MODULEDIR)/$(MODULENAME).posix64.a
- posix32e: $(MODULEDIR)/$(MODULENAME).posix32e.a
- posix64e: $(MODULEDIR)/$(MODULENAME).posix64e.a
- win32:
- win64:
- win32e:
- win64e:
- wine32: $(MODULEDIR)/$(MODULENAME)-wine32.dll$(LIB_EXT)
- wine64: $(MODULEDIR)/$(MODULENAME)-wine64.dll$(LIB_EXT)
- endif
-
- # ---------------------------------------------------------------------------------------------------------------------
-
- clean:
- rm -f $(OBJDIR)/*.o $(MODULEDIR)/$(MODULENAME)*.*
-
- debug:
- $(MAKE) DEBUG=true
-
- # ---------------------------------------------------------------------------------------------------------------------
-
- $(MODULEDIR)/$(MODULENAME).a: $(OBJS)
- -@mkdir -p $(MODULEDIR)
- @echo "Creating $(MODULENAME).a"
- @rm -f $@
- @$(AR) crs $@ $^
-
- $(MODULEDIR)/$(MODULENAME).arm32.a: $(OBJS_arm32)
- -@mkdir -p $(MODULEDIR)
- @echo "Creating $(MODULENAME).arm32.a"
- @rm -f $@
- @$(AR) crs $@ $^
-
- $(MODULEDIR)/$(MODULENAME).posix32.a: $(OBJS_posix32)
- -@mkdir -p $(MODULEDIR)
- @echo "Creating $(MODULENAME).posix32.a"
- @rm -f $@
- @$(AR) crs $@ $^
-
- $(MODULEDIR)/$(MODULENAME).posix64.a: $(OBJS_posix64)
- -@mkdir -p $(MODULEDIR)
- @echo "Creating $(MODULENAME).posix64.a"
- @rm -f $@
- @$(AR) crs $@ $^
-
- $(MODULEDIR)/$(MODULENAME).win32.a: $(OBJS_win32)
- -@mkdir -p $(MODULEDIR)
- @echo "Creating $(MODULENAME).win32.a"
- @rm -f $@
- @$(AR) crs $@ $^
-
- $(MODULEDIR)/$(MODULENAME).win64.a: $(OBJS_win64)
- -@mkdir -p $(MODULEDIR)
- @echo "Creating $(MODULENAME).win64.a"
- @rm -f $@
- @$(AR) crs $@ $^
-
- # ---------------------------------------------------------------------------------------------------------------------
-
- $(MODULEDIR)/$(MODULENAME).posix32e.a: $(OBJS_posix32e)
- -@mkdir -p $(MODULEDIR)
- @echo "Creating $(MODULENAME).posix32e.a"
- @rm -f $@
- @$(AR) crs $@ $^
-
- $(MODULEDIR)/$(MODULENAME).posix64e.a: $(OBJS_posix64e)
- -@mkdir -p $(MODULEDIR)
- @echo "Creating $(MODULENAME).posix64e.a"
- @rm -f $@
- @$(AR) crs $@ $^
-
- $(MODULEDIR)/$(MODULENAME).win32e.a: $(OBJS_win32e)
- -@mkdir -p $(MODULEDIR)
- @echo "Creating $(MODULENAME).win32e.a"
- @rm -f $@
- @$(AR) crs $@ $^
-
- $(MODULEDIR)/$(MODULENAME).win64e.a: $(OBJS_win64e)
- -@mkdir -p $(MODULEDIR)
- @echo "Creating $(MODULENAME).win64e.a"
- @rm -f $@
- @$(AR) crs $@ $^
-
- # ---------------------------------------------------------------------------------------------------------------------
-
- $(MODULEDIR)/$(MODULENAME)-wine32.dll$(LIB_EXT): $(OBJS_wine32) JackBridgeExport.def
- -@mkdir -p $(MODULEDIR)
- @echo "Linking $(MODULENAME)-wine32.dll$(LIB_EXT)"
- @$(WINECC) $^ $(WINE_32BIT_FLAGS) $(WINE_LINK_FLAGS) $(SHARED) -o $@
-
- $(MODULEDIR)/$(MODULENAME)-wine64.dll$(LIB_EXT): $(OBJS_wine64) JackBridgeExport.def
- -@mkdir -p $(MODULEDIR)
- @echo "Linking $(MODULENAME)-wine64.dll$(LIB_EXT)"
- @$(WINECC) $^ $(WINE_64BIT_FLAGS) $(WINE_LINK_FLAGS) $(SHARED) -o $@
-
- # ---------------------------------------------------------------------------------------------------------------------
-
- $(OBJDIR)/JackBridge1.cpp.o: JackBridge1.cpp
- -@mkdir -p $(OBJDIR)
- @echo "Compiling JackBridge1.cpp"
- @$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
-
- $(OBJDIR)/JackBridge2.cpp.o: JackBridge2.cpp
- -@mkdir -p $(OBJDIR)
- @echo "Compiling JackBridge2.cpp"
- @$(CXX) $< $(BUILD_CXX_FLAGS) -c -o $@
-
- # ---------------------------------------------------------------------------------------------------------------------
-
- $(OBJDIR)/JackBridgeExport.cpp.%32e.o: JackBridgeExport.cpp
- -@mkdir -p $(OBJDIR)
- @echo "Compiling $<"
- @$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -fpermissive -c -o $@
-
- $(OBJDIR)/JackBridgeExport.cpp.%64e.o: JackBridgeExport.cpp
- -@mkdir -p $(OBJDIR)
- @echo "Compiling $<"
- @$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -fpermissive -c -o $@
-
- # ---------------------------------------------------------------------------------------------------------------------
-
- $(OBJDIR)/%.cpp.arm32.o: %.cpp
- -@mkdir -p $(OBJDIR)
- @echo "Compiling $< (arm32)"
- @$(CXX) $< $(BUILD_CXX_FLAGS) $(ARM32_FLAGS) -c -o $@
-
- $(OBJDIR)/%.cpp.posix32.o: %.cpp
- -@mkdir -p $(OBJDIR)
- @echo "Compiling $< (posix32)"
- @$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
-
- $(OBJDIR)/%.cpp.posix64.o: %.cpp
- -@mkdir -p $(OBJDIR)
- @echo "Compiling $< (posix64)"
- @$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
-
- $(OBJDIR)/%.cpp.win32.o: %.cpp
- -@mkdir -p $(OBJDIR)
- @echo "Compiling $< (win32)"
- @$(CXX) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
-
- $(OBJDIR)/%.cpp.win64.o: %.cpp
- -@mkdir -p $(OBJDIR)
- @echo "Compiling $< (win64)"
- @$(CXX) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
-
- $(OBJDIR)/%.cpp.wine32.o: %.cpp
- -@mkdir -p $(OBJDIR)
- @echo "Compiling $< (wine32)"
- @$(WINECC) $< $(BUILD_CXX_FLAGS) $(32BIT_FLAGS) -c -o $@
-
- $(OBJDIR)/%.cpp.wine64.o: %.cpp
- -@mkdir -p $(OBJDIR)
- @echo "Compiling $< (wine64)"
- @$(WINECC) $< $(BUILD_CXX_FLAGS) $(64BIT_FLAGS) -c -o $@
-
- # ---------------------------------------------------------------------------------------------------------------------
-
- -include $(OBJS:%.o=%.d)
- -include $(OBJS_arm32:%.o=%.d)
- -include $(OBJS_posix32:%.o=%.d)
- -include $(OBJS_posix32e:%.o=%.d)
- -include $(OBJS_posix64:%.o=%.d)
- -include $(OBJS_posix64e:%.o=%.d)
- -include $(OBJS_win32:%.o=%.d)
- -include $(OBJS_win32e:%.o=%.d)
- -include $(OBJS_win64:%.o=%.d)
- -include $(OBJS_win64e:%.o=%.d)
- -include $(OBJS_wine32:%.o=%.d)
- -include $(OBJS_wine64:%.o=%.d)
-
- # ---------------------------------------------------------------------------------------------------------------------
|