Diff
checker
टेक्स्ट
टेक्स्ट
छवियां
दस्तावेज़
Excel
फ़ोल्डर्स
Legal
Enterprise
डेस्कटॉप
मूल्य
साइन इन करें
Diffchecker डेस्कटॉप डाउनलोड करें
टेक्स्ट की तुलना करें
दो टेक्स्ट फ़ाइलों के बीच अंतर ढूंढें
उपकरण
इतिहास
रियल-टाइम एडिटर
अपरिवर्तित संक्षिप्त करें
लाइन रैप बंद
लेआउट
विभाजित
संयुक्त
परिवर्तन हाइलाइट करें
स्मार्ट
शब्द
अक्षर
सिंटैक्स हाइलाइटिंग
सिंटैक्स चुनें
अनदेखा करें
टेक्स्ट बदलें
पहले अंतर पर जाएँ
इनपुट संपादित करें
Diffchecker Desktop
Diffchecker चलाने का सबसे सुरक्षित तरीका। Diffchecker Desktop ऐप पाएं: आपके diffs कभी आपके कंप्यूटर से बाहर नहीं जाते!
Desktop पाएं
Untitled diff
बनाया गया
11 वर्ष पहले
Diff कभी समाप्त नहीं होता
साफ़
निर्यात करें
शेयर करें
समझाएं
5 हटाए गए
लाइनें
कुल
हटाया गया
अक्षर
कुल
हटाया गया
इस सुविधा का उपयोग जारी रखने के लिए, अपग्रेड करें
Diff
checker
Pro
मूल्य देखें
280 लाइनें
सभी को कॉपी करें
14 जोड़े गए
लाइनें
कुल
जोड़ा गया
अक्षर
कुल
जोड़ा गया
इस सुविधा का उपयोग जारी रखने के लिए, अपग्रेड करें
Diff
checker
Pro
मूल्य देखें
278 लाइनें
सभी को कॉपी करें
# Copyright 2006-2013 by Benjamin J. Land (a.k.a. BenLand100)
# Copyright 2006-2013 by Benjamin J. Land (a.k.a. BenLand100)
#
#
# This file is part of the SMART Minimizing Autoing Resource Thing (SMART)
# This file is part of the SMART Minimizing Autoing Resource Thing (SMART)
#
#
# SMART is free software: you can redistribute it and/or modify
# SMART is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# (at your option) any later version.
#
#
# SMART is distributed in the hope that it will be useful,
# SMART is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# You should have received a copy of the GNU General Public License
# along with SMART. If not, see <http://www.gnu.org/licenses/>.
# along with SMART. If not, see <http://www.gnu.org/licenses/>.
#these compilers work with crossdev on gentoo
#these compilers work with crossdev on gentoo
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
WIN_GPP=
i686-pc-mingw32-
g++
WIN_GPP=
g++
WIN64_GPP=
x86_64-w64-mingw32-
g++
WIN64_GPP=
g++
LIN_GPP=i686-pc-linux-gnu-g++
LIN_GPP=i686-pc-linux-gnu-g++
LIN64_GPP=x86_64-pc-linux-gnu-g++
LIN64_GPP=x86_64-pc-linux-gnu-g++
JAVAC=javac
JAVAC=javac
JAR=jar
JAR=jar
DIST=dist
DIST=dist
BUILD=build
BUILD=build
WIN_NAME=libsmartremote32.dll
WIN_NAME=libsmartremote32.dll
WIN64_NAME=libsmartremote64.dll
WIN64_NAME=libsmartremote64.dll
LIN_NAME=libsmartremote32.so
LIN_NAME=libsmartremote32.so
LIN64_NAME=libsmartremote64.so
LIN64_NAME=libsmartremote64.so
JNI_WIN_NAME=libsmartjni32.dll
JNI_WIN_NAME=libsmartjni32.dll
JNI_WIN64_NAME=libsmartjni64.dll
JNI_WIN64_NAME=libsmartjni64.dll
JNI_LIN_NAME=libsmartjni32.so
JNI_LIN_NAME=libsmartjni32.so
JNI_LIN64_NAME=libsmartjni64.so
JNI_LIN64_NAME=libsmartjni64.so
JAVA_NAME=smart.jar
JAVA_NAME=smart.jar
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
WIN_COMPILE_ARGS=-DWINDOWS -O3 -s
-c
WIN_COMPILE_ARGS=-DWINDOWS -O3 -s
-m32
-c
WIN64_COMPILE_ARGS=-DWINDOWS -O3 -s -
c
WIN64_COMPILE_ARGS=-DWINDOWS -O3 -s -
m64 -
c
LIN_COMPILE_ARGS=-fPIC -DLINUX -O3 -s -c
LIN_COMPILE_ARGS=-fPIC -DLINUX -O3 -s -c
LIN64_COMPILE_ARGS=-fPIC -DLINUX -O3 -s -c
LIN64_COMPILE_ARGS=-fPIC -DLINUX -O3 -s -c
SRC_DIR=src
SRC_DIR=src
LIN_BUILD_DIR=$(BUILD)/linux32
LIN_BUILD_DIR=$(BUILD)/linux32
LIN64_BUILD_DIR=$(BUILD)/linux64
LIN64_BUILD_DIR=$(BUILD)/linux64
WIN_BUILD_DIR=$(BUILD)/windows32
WIN_BUILD_DIR=$(BUILD)/windows32
WIN64_BUILD_DIR=$(BUILD)/windows64
WIN64_BUILD_DIR=$(BUILD)/windows64
JAVA_BUILD_DIR=$(BUILD)/java
JAVA_BUILD_DIR=$(BUILD)/java
CPPSOURCEFILES= \
CPPSOURCEFILES= \
$(SRC_DIR)/SmartRemote.cpp
$(SRC_DIR)/SmartRemote.cpp
JNI_CPPSOURCEFILES= \
JNI_CPPSOURCEFILES= \
$(SRC_DIR)/SmartJNI.cpp
$(SRC_DIR)/SmartJNI.cpp
CPPHEADERFILES= \
CPPHEADERFILES= \
$(SRC_DIR)/SmartRemote.h \
$(SRC_DIR)/SmartRemote.h \
$(SRC_DIR)/libsmartremote.def
$(SRC_DIR)/libsmartremote.def
JNI_CPPHEADERFILES= \
JNI_CPPHEADERFILES= \
$(SRC_DIR)/jni.h \
$(SRC_DIR)/jni.h \
WINOBJFILES= \
WINOBJFILES= \
$(WIN_BUILD_DIR)/SmartRemote.o
$(WIN_BUILD_DIR)/SmartRemote.o
JNI_WINOBJFILES= \
JNI_WINOBJFILES= \
$(WIN_BUILD_DIR)/SmartJNI.o
$(WIN_BUILD_DIR)/SmartJNI.o
WIN64OBJFILES= \
WIN64OBJFILES= \
$(WIN64_BUILD_DIR)/SmartRemote.o
$(WIN64_BUILD_DIR)/SmartRemote.o
JNI_WIN64OBJFILES= \
JNI_WIN64OBJFILES= \
$(WIN64_BUILD_DIR)/SmartJNI.o
$(WIN64_BUILD_DIR)/SmartJNI.o
LINOBJFILES= \
LINOBJFILES= \
$(LIN_BUILD_DIR)/SmartRemote.o
$(LIN_BUILD_DIR)/SmartRemote.o
JNI_LINOBJFILES= \
JNI_LINOBJFILES= \
$(LIN_BUILD_DIR)/SmartJNI.o
$(LIN_BUILD_DIR)/SmartJNI.o
LIN64OBJFILES= \
LIN64OBJFILES= \
$(LIN64_BUILD_DIR)/SmartRemote.o
$(LIN64_BUILD_DIR)/SmartRemote.o
JNI_LIN64OBJFILES= \
JNI_LIN64OBJFILES= \
$(LIN64_BUILD_DIR)/SmartJNI.o
$(LIN64_BUILD_DIR)/SmartJNI.o
JAVASOURCES= \
JAVASOURCES= \
$(SRC_DIR)/Canvas.java \
$(SRC_DIR)/Canvas.java \
$(SRC_DIR)/Main.java \
$(SRC_DIR)/Main.java \
$(SRC_DIR)/BlockingEventQueue.java \
$(SRC_DIR)/BlockingEventQueue.java \
$(SRC_DIR)/Client.java \
$(SRC_DIR)/Client.java \
$(SRC_DIR)/ClientStub.java \
$(SRC_DIR)/ClientStub.java \
$(SRC_DIR)/EventNazi.java \
$(SRC_DIR)/EventNazi.java \
$(SRC_DIR)/EventRedirect.java \
$(SRC_DIR)/EventRedirect.java \
$(SRC_DIR)/UnblockedEvent.java
$(SRC_DIR)/UnblockedEvent.java
JAVACLASSES= \
JAVACLASSES= \
$(JAVA_BUILD_DIR)/java/awt/Canvas.class \
$(JAVA_BUILD_DIR)/java/awt/Canvas.class \
$(JAVA_BUILD_DIR)/smart/Main.class \
$(JAVA_BUILD_DIR)/smart/Main.class \
$(JAVA_BUILD_DIR)/smart/BlockingEventQueue.class \
$(JAVA_BUILD_DIR)/smart/BlockingEventQueue.class \
$(JAVA_BUILD_DIR)/smart/Client.class \
$(JAVA_BUILD_DIR)/smart/Client.class \
$(JAVA_BUILD_DIR)/smart/ClientStub.class \
$(JAVA_BUILD_DIR)/smart/ClientStub.class \
$(JAVA_BUILD_DIR)/smart/EventNazi.class \
$(JAVA_BUILD_DIR)/smart/EventNazi.class \
$(JAVA_BUILD_DIR)/smart/EventRedirect.class \
$(JAVA_BUILD_DIR)/smart/EventRedirect.class \
$(JAVA_BUILD_DIR)/smart/UnblockedEvent.class
$(JAVA_BUILD_DIR)/smart/UnblockedEvent.class
all:
all:
@echo "Syntax for the SMART makefile:"
@echo "Syntax for the SMART makefile:"
@echo " For Windows distributions: make windows windows64"
@echo " For Windows distributions: make windows windows64"
@echo " For Linux distributions: make linux linux64"
@echo " For Linux distributions: make linux linux64"
@echo " For All distributions: make everything"
@echo " For All distributions: make everything"
@echo " For test apps: make test-python test-linux test-linux64 test-windows test-windows64"
@echo " For test apps: make test-python test-linux test-linux64 test-windows test-windows64"
@echo " For all test apps: make test-all"
@echo " For all test apps: make test-all"
@echo " To clean build files: make clean"
@echo " To clean build files: make clean"
everything: linux linux64 windows windows64
everything: linux linux64 windows windows64
test-all: test-python test-windows test-windows64 test-linux test-linux64
test-all: test-python test-windows test-windows64 test-linux test-linux64
linux: $(JAVACLASSES) $(DIST)/$(LIN_NAME) $(DIST)/$(JNI_LIN_NAME)
linux: $(JAVACLASSES) $(DIST)/$(LIN_NAME) $(DIST)/$(JNI_LIN_NAME)
@echo "Finished Building the Linux 32bit SMART distribution"
@echo "Finished Building the Linux 32bit SMART distribution"
linux64: $(JAVACLASSES) $(DIST)/$(LIN64_NAME) $(DIST)/$(JNI_LIN64_NAME)
linux64: $(JAVACLASSES) $(DIST)/$(LIN64_NAME) $(DIST)/$(JNI_LIN64_NAME)
@echo "Finished Building the Linux 64bit SMART distribution"
@echo "Finished Building the Linux 64bit SMART distribution"
windows: $(JAVACLASSES) $(DIST)/$(WIN_NAME) $(DIST)/$(JNI_WIN_NAME)
windows: $(JAVACLASSES) $(DIST)/$(WIN_NAME) $(DIST)/$(JNI_WIN_NAME)
@echo "Finished Building the Windows 32bit SMART distribution"
@echo "Finished Building the Windows 32bit SMART distribution"
windows64: $(JAVACLASSES) $(DIST)/$(WIN64_NAME) $(DIST)/$(JNI_WIN64_NAME)
windows64: $(JAVACLASSES) $(DIST)/$(WIN64_NAME) $(DIST)/$(JNI_WIN64_NAME)
@echo "Finished Building the Windows 64bit SMART distribution"
@echo "Finished Building the Windows 64bit SMART distribution"
test-linux:
test-linux:
@mkdir -p $(DIST)
@mkdir -p $(DIST)
@$(LIN_GPP) -I $(SRC_DIR) -fPIC -shared -s -o $(DIST)/example-plugin32.so test-apps/example-plugin.cpp
@$(LIN_GPP) -I $(SRC_DIR) -fPIC -shared -s -o $(DIST)/example-plugin32.so test-apps/example-plugin.cpp
@$(LIN_GPP) -ldl -o $(DIST)/test-plugin-load32 test-apps/test-plugin-load.cpp
@$(LIN_GPP) -ldl -o $(DIST)/test-plugin-load32 test-apps/test-plugin-load.cpp
@$(LIN_GPP) -ldl -o $(DIST)/test-spawn32 test-apps/test-spawn.cpp
@$(LIN_GPP) -ldl -o $(DIST)/test-spawn32 test-apps/test-spawn.cpp
@$(LIN_GPP) -ldl -o $(DIST)/test-eios32 test-apps/test-eios.cpp
@$(LIN_GPP) -ldl -o $(DIST)/test-eios32 test-apps/test-eios.cpp
@$(LIN_GPP) -ldl -o $(DIST)/test-exports32 test-apps/test-exports.cpp
@$(LIN_GPP) -ldl -o $(DIST)/test-exports32 test-apps/test-exports.cpp
@echo "Finished building Linux 32bit test files"
@echo "Finished building Linux 32bit test files"
test-linux64:
test-linux64:
@mkdir -p $(DIST)
@mkdir -p $(DIST)
@$(LIN64_GPP) -I $(SRC_DIR) -fPIC -shared -s -o $(DIST)/example-plugin64.so test-apps/example-plugin.cpp
@$(LIN64_GPP) -I $(SRC_DIR) -fPIC -shared -s -o $(DIST)/example-plugin64.so test-apps/example-plugin.cpp
@$(LIN64_GPP) -ldl -o $(DIST)/test-plugin-load64 test-apps/test-plugin-load.cpp
@$(LIN64_GPP) -ldl -o $(DIST)/test-plugin-load64 test-apps/test-plugin-load.cpp
@$(LIN64_GPP) -ldl -o $(DIST)/test-spawn64 test-apps/test-spawn.cpp
@$(LIN64_GPP) -ldl -o $(DIST)/test-spawn64 test-apps/test-spawn.cpp
@$(LIN64_GPP) -ldl -o $(DIST)/test-eios64 test-apps/test-eios.cpp
@$(LIN64_GPP) -ldl -o $(DIST)/test-eios64 test-apps/test-eios.cpp
@$(LIN64_GPP) -ldl -o $(DIST)/test-exports64 test-apps/test-exports.cpp
@$(LIN64_GPP) -ldl -o $(DIST)/test-exports64 test-apps/test-exports.cpp
@echo "Finished building Linux 64bit test files"
@echo "Finished building Linux 64bit test files"
test-windows:
test-windows:
@mkdir -p $(DIST)
@mkdir -p $(DIST)
@$(WIN_GPP) -I $(SRC_DIR) -shared -static-libgcc -static-libstdc++ -s -o $(DIST)/example-plugin32.dll test-apps/example-plugin.cpp
@$(WIN_GPP) -I $(SRC_DIR) -shared -static-libgcc -static-libstdc++ -s -o $(DIST)/example-plugin32.dll test-apps/example-plugin.cpp
@$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-plugin-load32.exe test-apps/test-plugin-load.cpp
@$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-plugin-load32.exe test-apps/test-plugin-load.cpp
@$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-spawn32.exe test-apps/test-spawn.cpp
@$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-spawn32.exe test-apps/test-spawn.cpp
@$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-eios32.exe test-apps/test-eios.cpp
@$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-eios32.exe test-apps/test-eios.cpp
@$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-exports32.exe test-apps/test-exports.cpp
@$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-exports32.exe test-apps/test-exports.cpp
@echo "Finished building Windows 32bit test files"
@echo "Finished building Windows 32bit test files"
test-windows64:
test-windows64:
@mkdir -p $(DIST)
@mkdir -p $(DIST)
@$(WIN64_GPP) -I $(SRC_DIR) -shared -static-libgcc -static-libstdc++ -s -o $(DIST)/example-plugin64.dll test-apps/example-plugin.cpp
@$(WIN64_GPP) -I $(SRC_DIR) -shared -static-libgcc -static-libstdc++ -s -o $(DIST)/example-plugin64.dll test-apps/example-plugin.cpp
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
@$(WIN64_GPP)
-static-libgcc -static-libstdc++ -o $(DIST)/test-plugin-load64.exe test-apps/test-plugin-load.cpp
@$(WIN64_GPP)
-static
-static-libgcc -static-libstdc++ -o $(DIST)/test-plugin-load64.exe test-apps/test-plugin-load.cpp
@$(WIN64_GPP) -static
-libgcc -static-libstdc++ -o $(DIST)/test-spawn64.exe test-apps/test-spawn.cpp
@$(WIN64_GPP) -static
-static
-libgcc -static-libstdc++ -o $(DIST)/test-spawn64.exe test-apps/test-spawn.cpp
@$(WIN64_GPP)
-static-libgcc -static-libstdc++ -o $(DIST)/test-eios64.exe test-apps/test-eios.cpp
@$(WIN64_GPP)
-static
-static-libgcc -static-libstdc++ -o $(DIST)/test-eios64.exe test-apps/test-eios.cpp
@$(WIN64_GPP) -static
-libgcc -static-libstdc++ -o $(DIST)/test-exports64.exe test-apps/test-exports.cpp
@$(WIN64_GPP) -static
-static
-libgcc -static-libstdc++ -o $(DIST)/test-exports64.exe test-apps/test-exports.cpp
@echo "Finished building Windows 64bit test files"
@echo "Finished building Windows 64bit test files"
test-python:
test-python:
@mkdir -p $(DIST)
@mkdir -p $(DIST)
@cp test-apps/test-python.py $(DIST)/test-python
@cp test-apps/test-python.py $(DIST)/test-python
@echo "Finished building Python test files"
@echo "Finished building Python test files"
clean:
clean:
@echo "Cleaning build files..."
@echo "Cleaning build files..."
@rm -rf $(BUILD) $(DIST)
@rm -rf $(BUILD) $(DIST)
#### LINUX BUILDING DIRECTIVES ####
#### LINUX BUILDING DIRECTIVES ####
$(DIST)/$(LIN_NAME): $(LINOBJFILES)
$(DIST)/$(LIN_NAME): $(LINOBJFILES)
@echo "Linking Linux Remote object files..."
@echo "Linking Linux Remote object files..."
@mkdir -p $(DIST)
@mkdir -p $(DIST)
@$(LIN_GPP) -fPIC -shared -s -o $(DIST)/$(LIN_NAME) $(LINOBJFILES)
@$(LIN_GPP) -fPIC -shared -s -o $(DIST)/$(LIN_NAME) $(LINOBJFILES)
$(DIST)/$(JNI_LIN_NAME): $(JNI_LINOBJFILES)
$(DIST)/$(JNI_LIN_NAME): $(JNI_LINOBJFILES)
@echo "Linking Linux JNI object files..."
@echo "Linking Linux JNI object files..."
@mkdir -p $(DIST)
@mkdir -p $(DIST)
@$(LIN_GPP) -fPIC -shared -s -o $(DIST)/$(JNI_LIN_NAME) $(JNI_LINOBJFILES)
@$(LIN_GPP) -fPIC -shared -s -o $(DIST)/$(JNI_LIN_NAME) $(JNI_LINOBJFILES)
$(LIN_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES)
$(LIN_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES)
@echo "Compiling SmartRemote.cpp"
@echo "Compiling SmartRemote.cpp"
@mkdir -p $(LIN_BUILD_DIR)
@mkdir -p $(LIN_BUILD_DIR)
@$(LIN_GPP) $(LIN_COMPILE_ARGS) -o $(LIN_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp
@$(LIN_GPP) $(LIN_COMPILE_ARGS) -o $(LIN_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp
$(LIN_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES)
$(LIN_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES)
@echo "Compiling SmartJNI.cpp"
@echo "Compiling SmartJNI.cpp"
@mkdir -p $(LIN_BUILD_DIR)
@mkdir -p $(LIN_BUILD_DIR)
@$(LIN_GPP) $(LIN_COMPILE_ARGS) -o $(LIN_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp
@$(LIN_GPP) $(LIN_COMPILE_ARGS) -o $(LIN_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp
#### LINUX64 BUILDING DIRECTIVES ####
#### LINUX64 BUILDING DIRECTIVES ####
$(DIST)/$(LIN64_NAME): $(LIN64OBJFILES)
$(DIST)/$(LIN64_NAME): $(LIN64OBJFILES)
@echo "Linking Linux64 Remote object files..."
@echo "Linking Linux64 Remote object files..."
@mkdir -p $(DIST)
@mkdir -p $(DIST)
@$(LIN64_GPP) -fPIC -shared -s -o $(DIST)/$(LIN64_NAME) $(LIN64OBJFILES)
@$(LIN64_GPP) -fPIC -shared -s -o $(DIST)/$(LIN64_NAME) $(LIN64OBJFILES)
$(DIST)/$(JNI_LIN64_NAME): $(JNI_LIN64OBJFILES)
$(DIST)/$(JNI_LIN64_NAME): $(JNI_LIN64OBJFILES)
@echo "Linking Linux64 JNI object files..."
@echo "Linking Linux64 JNI object files..."
@mkdir -p $(DIST)
@mkdir -p $(DIST)
@$(LIN64_GPP) -fPIC -shared -s -o $(DIST)/$(JNI_LIN64_NAME) $(JNI_LIN64OBJFILES)
@$(LIN64_GPP) -fPIC -shared -s -o $(DIST)/$(JNI_LIN64_NAME) $(JNI_LIN64OBJFILES)
$(LIN64_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES)
$(LIN64_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES)
@echo "Compiling SmartRemote.cpp"
@echo "Compiling SmartRemote.cpp"
@mkdir -p $(LIN64_BUILD_DIR)
@mkdir -p $(LIN64_BUILD_DIR)
@$(LIN64_GPP) $(LIN64_COMPILE_ARGS) -o $(LIN64_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp
@$(LIN64_GPP) $(LIN64_COMPILE_ARGS) -o $(LIN64_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp
$(LIN64_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES)
$(LIN64_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES)
@echo "Compiling SmartJNI.cpp"
@echo "Compiling SmartJNI.cpp"
@mkdir -p $(LIN64_BUILD_DIR)
@mkdir -p $(LIN64_BUILD_DIR)
@$(LIN64_GPP) $(LIN64_COMPILE_ARGS) -o $(LIN64_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp
@$(LIN64_GPP) $(LIN64_COMPILE_ARGS) -o $(LIN64_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp
#### WINDOWS BUILDING DIRECTIVES ####
#### WINDOWS BUILDING DIRECTIVES ####
$(DIST)/$(WIN_NAME): $(WINOBJFILES)
$(DIST)/$(WIN_NAME): $(WINOBJFILES)
@echo "Linking Windows Remote object files..."
@echo "Linking Windows Remote object files..."
@mkdir -p $(DIST)
@mkdir -p $(DIST)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
@$(WIN_GPP) -Wl,$(SRC_DIR)/libsmartremote.def
-static-libgcc -static-libstdc++ -mwindows -shared -s -
o $(DIST)/$(WIN_NAME) $(WINOBJFILES) -lws2_32
@$(WIN_GPP) -Wl,$(SRC_DIR)/libsmartremote.def
-static
-static-libgcc -static-libstdc++ -mwindows -shared -s -
m32 -
o $(DIST)/$(WIN_NAME) $(WINOBJFILES) -lws2_32
$(DIST)/$(JNI_WIN_NAME): $(JNI_WINOBJFILES)
$(DIST)/$(JNI_WIN_NAME): $(JNI_WINOBJFILES)
@echo "Linking Windows JNI object files..."
@echo "Linking Windows JNI object files..."
@mkdir -p $(DIST)
@mkdir -p $(DIST)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
@$(WIN_GPP) -Wl,$(SRC_DIR)/libsmartjni.def
-static-libgcc -static-libstdc++ -mwindows -shared -s -
o $(DIST)/$(JNI_WIN_NAME) $(JNI_WINOBJFILES)
@$(WIN_GPP) -Wl,$(SRC_DIR)/libsmartjni.def
-static
-static-libgcc -static-libstdc++ -mwindows -shared -s -
m32 -
o $(DIST)/$(JNI_WIN_NAME) $(JNI_WINOBJFILES)
$(WIN_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES)
$(WIN_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES)
@echo "Compiling SmartRemote.cpp"
@echo "Compiling SmartRemote.cpp"
@mkdir -p $(WIN_BUILD_DIR)
@mkdir -p $(WIN_BUILD_DIR)
@$(WIN_GPP) $(WIN_COMPILE_ARGS) -o $(WIN_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp -lws2_32
@$(WIN_GPP) $(WIN_COMPILE_ARGS) -o $(WIN_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp -lws2_32
$(WIN_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES)
$(WIN_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES)
@echo "Compiling SmartJNI.cpp"
@echo "Compiling SmartJNI.cpp"
@mkdir -p $(WIN_BUILD_DIR)
@mkdir -p $(WIN_BUILD_DIR)
@$(WIN_GPP) $(WIN_COMPILE_ARGS) -o $(WIN_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp
@$(WIN_GPP) $(WIN_COMPILE_ARGS) -o $(WIN_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp
#### WINDOWS64 BUILDING DIRECTIVES ####
#### WINDOWS64 BUILDING DIRECTIVES ####
$(DIST)/$(WIN64_NAME): $(WIN64OBJFILES)
$(DIST)/$(WIN64_NAME): $(WIN64OBJFILES)
@echo "Linking Windows64 Remote object files..."
@echo "Linking Windows64 Remote object files..."
@mkdir -p $(DIST)
@mkdir -p $(DIST)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
@$(WIN64_GPP) -Wl,$(SRC_DIR)/libsmartremote.def
-static-libgcc -static-libstdc++ -mwindows -shared -s -
o $(DIST)/$(WIN64_NAME) $(WIN64OBJFILES) -lws2_32
@$(WIN64_GPP) -Wl,$(SRC_DIR)/libsmartremote.def
-static
-static-libgcc -static-libstdc++ -mwindows -shared -s -
m64 -
o $(DIST)/$(WIN64_NAME) $(WIN64OBJFILES) -lws2_32
$(DIST)/$(JNI_WIN64_NAME): $(JNI_WIN64OBJFILES)
$(DIST)/$(JNI_WIN64_NAME): $(JNI_WIN64OBJFILES)
@echo "Linking Windows64 JNI object files..."
@echo "Linking Windows64 JNI object files..."
@mkdir -p $(DIST)
@mkdir -p $(DIST)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
@$(WIN64_GPP) -Wl,$(SRC_DIR)/libsmartjni.def
-static-libgcc -static-libstdc++ -mwindows -shared -s -
o $(DIST)/$(JNI_WIN64_NAME) $(JNI_WIN64OBJFILES)
@$(WIN64_GPP) -Wl,$(SRC_DIR)/libsmartjni.def
-static
-static-libgcc -static-libstdc++ -mwindows -shared -s -
m64 -
o $(DIST)/$(JNI_WIN64_NAME) $(JNI_WIN64OBJFILES)
$(WIN64_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES)
$(WIN64_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES)
@echo "Compiling SmartRemote.cpp"
@echo "Compiling SmartRemote.cpp"
@mkdir -p $(WIN64_BUILD_DIR)
@mkdir -p $(WIN64_BUILD_DIR)
@$(WIN64_GPP) $(WIN64_COMPILE_ARGS) -o $(WIN64_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp -lws2_32
@$(WIN64_GPP) $(WIN64_COMPILE_ARGS) -o $(WIN64_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp -lws2_32
$(WIN64_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES)
$(WIN64_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES)
@echo "Compiling SmartJNI.cpp"
@echo "Compiling SmartJNI.cpp"
@mkdir -p $(WIN64_BUILD_DIR)
@mkdir -p $(WIN64_BUILD_DIR)
@$(WIN64_GPP) $(WIN64_COMPILE_ARGS) -o $(WIN64_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp
@$(WIN64_GPP) $(WIN64_COMPILE_ARGS) -o $(WIN64_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp
#### JAVA BUILDING DIRECTIVES ####
#### JAVA BUILDING DIRECTIVES ####
$(JAVACLASSES): $(JAVASOURCES)
$(JAVACLASSES): $(JAVASOURCES)
@echo "Compiling Java Classes..."
@echo "Compiling Java Classes..."
@mkdir -p $(JAVA_BUILD_DIR)
@mkdir -p $(JAVA_BUILD_DIR)
@$(JAVAC) -classpath $(JAVA_BUILD_DIR) -sourcepath $(SRC_DIR) -d $(JAVA_BUILD_DIR) $(JAVASOURCES)
@$(JAVAC) -classpath $(JAVA_BUILD_DIR) -sourcepath $(SRC_DIR) -d $(JAVA_BUILD_DIR) $(JAVASOURCES)
@echo "Creating JAR Archive..."
@echo "Creating JAR Archive..."
@mkdir -p $(DIST)
@mkdir -p $(DIST)
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
@$(JAR) cfe $(DIST)/$(JAVA_NAME) smart.Main -C $(JAVA_BUILD_DIR) .
@$(JAR) cfe $(DIST)/$(JAVA_NAME) smart.Main -C $(JAVA_BUILD_DIR) .
सेव किए गए Diffs
ऑरिजनल टेक्स्ट
फ़ाइल खोलें
# Copyright 2006-2013 by Benjamin J. Land (a.k.a. BenLand100) # # This file is part of the SMART Minimizing Autoing Resource Thing (SMART) # # SMART is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # SMART is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with SMART. If not, see <http://www.gnu.org/licenses/>. #these compilers work with crossdev on gentoo WIN_GPP=i686-pc-mingw32-g++ WIN64_GPP=x86_64-w64-mingw32-g++ LIN_GPP=i686-pc-linux-gnu-g++ LIN64_GPP=x86_64-pc-linux-gnu-g++ JAVAC=javac JAR=jar DIST=dist BUILD=build WIN_NAME=libsmartremote32.dll WIN64_NAME=libsmartremote64.dll LIN_NAME=libsmartremote32.so LIN64_NAME=libsmartremote64.so JNI_WIN_NAME=libsmartjni32.dll JNI_WIN64_NAME=libsmartjni64.dll JNI_LIN_NAME=libsmartjni32.so JNI_LIN64_NAME=libsmartjni64.so JAVA_NAME=smart.jar WIN_COMPILE_ARGS=-DWINDOWS -O3 -s -c WIN64_COMPILE_ARGS=-DWINDOWS -O3 -s -c LIN_COMPILE_ARGS=-fPIC -DLINUX -O3 -s -c LIN64_COMPILE_ARGS=-fPIC -DLINUX -O3 -s -c SRC_DIR=src LIN_BUILD_DIR=$(BUILD)/linux32 LIN64_BUILD_DIR=$(BUILD)/linux64 WIN_BUILD_DIR=$(BUILD)/windows32 WIN64_BUILD_DIR=$(BUILD)/windows64 JAVA_BUILD_DIR=$(BUILD)/java CPPSOURCEFILES= \ $(SRC_DIR)/SmartRemote.cpp JNI_CPPSOURCEFILES= \ $(SRC_DIR)/SmartJNI.cpp CPPHEADERFILES= \ $(SRC_DIR)/SmartRemote.h \ $(SRC_DIR)/libsmartremote.def JNI_CPPHEADERFILES= \ $(SRC_DIR)/jni.h \ WINOBJFILES= \ $(WIN_BUILD_DIR)/SmartRemote.o JNI_WINOBJFILES= \ $(WIN_BUILD_DIR)/SmartJNI.o WIN64OBJFILES= \ $(WIN64_BUILD_DIR)/SmartRemote.o JNI_WIN64OBJFILES= \ $(WIN64_BUILD_DIR)/SmartJNI.o LINOBJFILES= \ $(LIN_BUILD_DIR)/SmartRemote.o JNI_LINOBJFILES= \ $(LIN_BUILD_DIR)/SmartJNI.o LIN64OBJFILES= \ $(LIN64_BUILD_DIR)/SmartRemote.o JNI_LIN64OBJFILES= \ $(LIN64_BUILD_DIR)/SmartJNI.o JAVASOURCES= \ $(SRC_DIR)/Canvas.java \ $(SRC_DIR)/Main.java \ $(SRC_DIR)/BlockingEventQueue.java \ $(SRC_DIR)/Client.java \ $(SRC_DIR)/ClientStub.java \ $(SRC_DIR)/EventNazi.java \ $(SRC_DIR)/EventRedirect.java \ $(SRC_DIR)/UnblockedEvent.java JAVACLASSES= \ $(JAVA_BUILD_DIR)/java/awt/Canvas.class \ $(JAVA_BUILD_DIR)/smart/Main.class \ $(JAVA_BUILD_DIR)/smart/BlockingEventQueue.class \ $(JAVA_BUILD_DIR)/smart/Client.class \ $(JAVA_BUILD_DIR)/smart/ClientStub.class \ $(JAVA_BUILD_DIR)/smart/EventNazi.class \ $(JAVA_BUILD_DIR)/smart/EventRedirect.class \ $(JAVA_BUILD_DIR)/smart/UnblockedEvent.class all: @echo "Syntax for the SMART makefile:" @echo " For Windows distributions: make windows windows64" @echo " For Linux distributions: make linux linux64" @echo " For All distributions: make everything" @echo " For test apps: make test-python test-linux test-linux64 test-windows test-windows64" @echo " For all test apps: make test-all" @echo " To clean build files: make clean" everything: linux linux64 windows windows64 test-all: test-python test-windows test-windows64 test-linux test-linux64 linux: $(JAVACLASSES) $(DIST)/$(LIN_NAME) $(DIST)/$(JNI_LIN_NAME) @echo "Finished Building the Linux 32bit SMART distribution" linux64: $(JAVACLASSES) $(DIST)/$(LIN64_NAME) $(DIST)/$(JNI_LIN64_NAME) @echo "Finished Building the Linux 64bit SMART distribution" windows: $(JAVACLASSES) $(DIST)/$(WIN_NAME) $(DIST)/$(JNI_WIN_NAME) @echo "Finished Building the Windows 32bit SMART distribution" windows64: $(JAVACLASSES) $(DIST)/$(WIN64_NAME) $(DIST)/$(JNI_WIN64_NAME) @echo "Finished Building the Windows 64bit SMART distribution" test-linux: @mkdir -p $(DIST) @$(LIN_GPP) -I $(SRC_DIR) -fPIC -shared -s -o $(DIST)/example-plugin32.so test-apps/example-plugin.cpp @$(LIN_GPP) -ldl -o $(DIST)/test-plugin-load32 test-apps/test-plugin-load.cpp @$(LIN_GPP) -ldl -o $(DIST)/test-spawn32 test-apps/test-spawn.cpp @$(LIN_GPP) -ldl -o $(DIST)/test-eios32 test-apps/test-eios.cpp @$(LIN_GPP) -ldl -o $(DIST)/test-exports32 test-apps/test-exports.cpp @echo "Finished building Linux 32bit test files" test-linux64: @mkdir -p $(DIST) @$(LIN64_GPP) -I $(SRC_DIR) -fPIC -shared -s -o $(DIST)/example-plugin64.so test-apps/example-plugin.cpp @$(LIN64_GPP) -ldl -o $(DIST)/test-plugin-load64 test-apps/test-plugin-load.cpp @$(LIN64_GPP) -ldl -o $(DIST)/test-spawn64 test-apps/test-spawn.cpp @$(LIN64_GPP) -ldl -o $(DIST)/test-eios64 test-apps/test-eios.cpp @$(LIN64_GPP) -ldl -o $(DIST)/test-exports64 test-apps/test-exports.cpp @echo "Finished building Linux 64bit test files" test-windows: @mkdir -p $(DIST) @$(WIN_GPP) -I $(SRC_DIR) -shared -static-libgcc -static-libstdc++ -s -o $(DIST)/example-plugin32.dll test-apps/example-plugin.cpp @$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-plugin-load32.exe test-apps/test-plugin-load.cpp @$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-spawn32.exe test-apps/test-spawn.cpp @$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-eios32.exe test-apps/test-eios.cpp @$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-exports32.exe test-apps/test-exports.cpp @echo "Finished building Windows 32bit test files" test-windows64: @mkdir -p $(DIST) @$(WIN64_GPP) -I $(SRC_DIR) -shared -static-libgcc -static-libstdc++ -s -o $(DIST)/example-plugin64.dll test-apps/example-plugin.cpp @$(WIN64_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-plugin-load64.exe test-apps/test-plugin-load.cpp @$(WIN64_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-spawn64.exe test-apps/test-spawn.cpp @$(WIN64_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-eios64.exe test-apps/test-eios.cpp @$(WIN64_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-exports64.exe test-apps/test-exports.cpp @echo "Finished building Windows 64bit test files" test-python: @mkdir -p $(DIST) @cp test-apps/test-python.py $(DIST)/test-python @echo "Finished building Python test files" clean: @echo "Cleaning build files..." @rm -rf $(BUILD) $(DIST) #### LINUX BUILDING DIRECTIVES #### $(DIST)/$(LIN_NAME): $(LINOBJFILES) @echo "Linking Linux Remote object files..." @mkdir -p $(DIST) @$(LIN_GPP) -fPIC -shared -s -o $(DIST)/$(LIN_NAME) $(LINOBJFILES) $(DIST)/$(JNI_LIN_NAME): $(JNI_LINOBJFILES) @echo "Linking Linux JNI object files..." @mkdir -p $(DIST) @$(LIN_GPP) -fPIC -shared -s -o $(DIST)/$(JNI_LIN_NAME) $(JNI_LINOBJFILES) $(LIN_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES) @echo "Compiling SmartRemote.cpp" @mkdir -p $(LIN_BUILD_DIR) @$(LIN_GPP) $(LIN_COMPILE_ARGS) -o $(LIN_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp $(LIN_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES) @echo "Compiling SmartJNI.cpp" @mkdir -p $(LIN_BUILD_DIR) @$(LIN_GPP) $(LIN_COMPILE_ARGS) -o $(LIN_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp #### LINUX64 BUILDING DIRECTIVES #### $(DIST)/$(LIN64_NAME): $(LIN64OBJFILES) @echo "Linking Linux64 Remote object files..." @mkdir -p $(DIST) @$(LIN64_GPP) -fPIC -shared -s -o $(DIST)/$(LIN64_NAME) $(LIN64OBJFILES) $(DIST)/$(JNI_LIN64_NAME): $(JNI_LIN64OBJFILES) @echo "Linking Linux64 JNI object files..." @mkdir -p $(DIST) @$(LIN64_GPP) -fPIC -shared -s -o $(DIST)/$(JNI_LIN64_NAME) $(JNI_LIN64OBJFILES) $(LIN64_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES) @echo "Compiling SmartRemote.cpp" @mkdir -p $(LIN64_BUILD_DIR) @$(LIN64_GPP) $(LIN64_COMPILE_ARGS) -o $(LIN64_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp $(LIN64_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES) @echo "Compiling SmartJNI.cpp" @mkdir -p $(LIN64_BUILD_DIR) @$(LIN64_GPP) $(LIN64_COMPILE_ARGS) -o $(LIN64_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp #### WINDOWS BUILDING DIRECTIVES #### $(DIST)/$(WIN_NAME): $(WINOBJFILES) @echo "Linking Windows Remote object files..." @mkdir -p $(DIST) @$(WIN_GPP) -Wl,$(SRC_DIR)/libsmartremote.def -static-libgcc -static-libstdc++ -mwindows -shared -s -o $(DIST)/$(WIN_NAME) $(WINOBJFILES) -lws2_32 $(DIST)/$(JNI_WIN_NAME): $(JNI_WINOBJFILES) @echo "Linking Windows JNI object files..." @mkdir -p $(DIST) @$(WIN_GPP) -Wl,$(SRC_DIR)/libsmartjni.def -static-libgcc -static-libstdc++ -mwindows -shared -s -o $(DIST)/$(JNI_WIN_NAME) $(JNI_WINOBJFILES) $(WIN_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES) @echo "Compiling SmartRemote.cpp" @mkdir -p $(WIN_BUILD_DIR) @$(WIN_GPP) $(WIN_COMPILE_ARGS) -o $(WIN_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp -lws2_32 $(WIN_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES) @echo "Compiling SmartJNI.cpp" @mkdir -p $(WIN_BUILD_DIR) @$(WIN_GPP) $(WIN_COMPILE_ARGS) -o $(WIN_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp #### WINDOWS64 BUILDING DIRECTIVES #### $(DIST)/$(WIN64_NAME): $(WIN64OBJFILES) @echo "Linking Windows64 Remote object files..." @mkdir -p $(DIST) @$(WIN64_GPP) -Wl,$(SRC_DIR)/libsmartremote.def -static-libgcc -static-libstdc++ -mwindows -shared -s -o $(DIST)/$(WIN64_NAME) $(WIN64OBJFILES) -lws2_32 $(DIST)/$(JNI_WIN64_NAME): $(JNI_WIN64OBJFILES) @echo "Linking Windows64 JNI object files..." @mkdir -p $(DIST) @$(WIN64_GPP) -Wl,$(SRC_DIR)/libsmartjni.def -static-libgcc -static-libstdc++ -mwindows -shared -s -o $(DIST)/$(JNI_WIN64_NAME) $(JNI_WIN64OBJFILES) $(WIN64_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES) @echo "Compiling SmartRemote.cpp" @mkdir -p $(WIN64_BUILD_DIR) @$(WIN64_GPP) $(WIN64_COMPILE_ARGS) -o $(WIN64_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp -lws2_32 $(WIN64_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES) @echo "Compiling SmartJNI.cpp" @mkdir -p $(WIN64_BUILD_DIR) @$(WIN64_GPP) $(WIN64_COMPILE_ARGS) -o $(WIN64_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp #### JAVA BUILDING DIRECTIVES #### $(JAVACLASSES): $(JAVASOURCES) @echo "Compiling Java Classes..." @mkdir -p $(JAVA_BUILD_DIR) @$(JAVAC) -classpath $(JAVA_BUILD_DIR) -sourcepath $(SRC_DIR) -d $(JAVA_BUILD_DIR) $(JAVASOURCES) @echo "Creating JAR Archive..." @mkdir -p $(DIST) @$(JAR) cfe $(DIST)/$(JAVA_NAME) smart.Main -C $(JAVA_BUILD_DIR) .
परिवर्तित टेक्स्ट
फ़ाइल खोलें
# Copyright 2006-2013 by Benjamin J. Land (a.k.a. BenLand100) # # This file is part of the SMART Minimizing Autoing Resource Thing (SMART) # # SMART is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # SMART is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with SMART. If not, see <http://www.gnu.org/licenses/>. #these compilers work with crossdev on gentoo WIN_GPP=g++ WIN64_GPP=g++ LIN_GPP=i686-pc-linux-gnu-g++ LIN64_GPP=x86_64-pc-linux-gnu-g++ JAVAC=javac JAR=jar DIST=dist BUILD=build WIN_NAME=libsmartremote32.dll WIN64_NAME=libsmartremote64.dll LIN_NAME=libsmartremote32.so LIN64_NAME=libsmartremote64.so JNI_WIN_NAME=libsmartjni32.dll JNI_WIN64_NAME=libsmartjni64.dll JNI_LIN_NAME=libsmartjni32.so JNI_LIN64_NAME=libsmartjni64.so JAVA_NAME=smart.jar WIN_COMPILE_ARGS=-DWINDOWS -O3 -s -m32 -c WIN64_COMPILE_ARGS=-DWINDOWS -O3 -s -m64 -c LIN_COMPILE_ARGS=-fPIC -DLINUX -O3 -s -c LIN64_COMPILE_ARGS=-fPIC -DLINUX -O3 -s -c SRC_DIR=src LIN_BUILD_DIR=$(BUILD)/linux32 LIN64_BUILD_DIR=$(BUILD)/linux64 WIN_BUILD_DIR=$(BUILD)/windows32 WIN64_BUILD_DIR=$(BUILD)/windows64 JAVA_BUILD_DIR=$(BUILD)/java CPPSOURCEFILES= \ $(SRC_DIR)/SmartRemote.cpp JNI_CPPSOURCEFILES= \ $(SRC_DIR)/SmartJNI.cpp CPPHEADERFILES= \ $(SRC_DIR)/SmartRemote.h \ $(SRC_DIR)/libsmartremote.def JNI_CPPHEADERFILES= \ $(SRC_DIR)/jni.h \ WINOBJFILES= \ $(WIN_BUILD_DIR)/SmartRemote.o JNI_WINOBJFILES= \ $(WIN_BUILD_DIR)/SmartJNI.o WIN64OBJFILES= \ $(WIN64_BUILD_DIR)/SmartRemote.o JNI_WIN64OBJFILES= \ $(WIN64_BUILD_DIR)/SmartJNI.o LINOBJFILES= \ $(LIN_BUILD_DIR)/SmartRemote.o JNI_LINOBJFILES= \ $(LIN_BUILD_DIR)/SmartJNI.o LIN64OBJFILES= \ $(LIN64_BUILD_DIR)/SmartRemote.o JNI_LIN64OBJFILES= \ $(LIN64_BUILD_DIR)/SmartJNI.o JAVASOURCES= \ $(SRC_DIR)/Canvas.java \ $(SRC_DIR)/Main.java \ $(SRC_DIR)/BlockingEventQueue.java \ $(SRC_DIR)/Client.java \ $(SRC_DIR)/ClientStub.java \ $(SRC_DIR)/EventNazi.java \ $(SRC_DIR)/EventRedirect.java \ $(SRC_DIR)/UnblockedEvent.java JAVACLASSES= \ $(JAVA_BUILD_DIR)/java/awt/Canvas.class \ $(JAVA_BUILD_DIR)/smart/Main.class \ $(JAVA_BUILD_DIR)/smart/BlockingEventQueue.class \ $(JAVA_BUILD_DIR)/smart/Client.class \ $(JAVA_BUILD_DIR)/smart/ClientStub.class \ $(JAVA_BUILD_DIR)/smart/EventNazi.class \ $(JAVA_BUILD_DIR)/smart/EventRedirect.class \ $(JAVA_BUILD_DIR)/smart/UnblockedEvent.class all: @echo "Syntax for the SMART makefile:" @echo " For Windows distributions: make windows windows64" @echo " For Linux distributions: make linux linux64" @echo " For All distributions: make everything" @echo " For test apps: make test-python test-linux test-linux64 test-windows test-windows64" @echo " For all test apps: make test-all" @echo " To clean build files: make clean" everything: linux linux64 windows windows64 test-all: test-python test-windows test-windows64 test-linux test-linux64 linux: $(JAVACLASSES) $(DIST)/$(LIN_NAME) $(DIST)/$(JNI_LIN_NAME) @echo "Finished Building the Linux 32bit SMART distribution" linux64: $(JAVACLASSES) $(DIST)/$(LIN64_NAME) $(DIST)/$(JNI_LIN64_NAME) @echo "Finished Building the Linux 64bit SMART distribution" windows: $(JAVACLASSES) $(DIST)/$(WIN_NAME) $(DIST)/$(JNI_WIN_NAME) @echo "Finished Building the Windows 32bit SMART distribution" windows64: $(JAVACLASSES) $(DIST)/$(WIN64_NAME) $(DIST)/$(JNI_WIN64_NAME) @echo "Finished Building the Windows 64bit SMART distribution" test-linux: @mkdir -p $(DIST) @$(LIN_GPP) -I $(SRC_DIR) -fPIC -shared -s -o $(DIST)/example-plugin32.so test-apps/example-plugin.cpp @$(LIN_GPP) -ldl -o $(DIST)/test-plugin-load32 test-apps/test-plugin-load.cpp @$(LIN_GPP) -ldl -o $(DIST)/test-spawn32 test-apps/test-spawn.cpp @$(LIN_GPP) -ldl -o $(DIST)/test-eios32 test-apps/test-eios.cpp @$(LIN_GPP) -ldl -o $(DIST)/test-exports32 test-apps/test-exports.cpp @echo "Finished building Linux 32bit test files" test-linux64: @mkdir -p $(DIST) @$(LIN64_GPP) -I $(SRC_DIR) -fPIC -shared -s -o $(DIST)/example-plugin64.so test-apps/example-plugin.cpp @$(LIN64_GPP) -ldl -o $(DIST)/test-plugin-load64 test-apps/test-plugin-load.cpp @$(LIN64_GPP) -ldl -o $(DIST)/test-spawn64 test-apps/test-spawn.cpp @$(LIN64_GPP) -ldl -o $(DIST)/test-eios64 test-apps/test-eios.cpp @$(LIN64_GPP) -ldl -o $(DIST)/test-exports64 test-apps/test-exports.cpp @echo "Finished building Linux 64bit test files" test-windows: @mkdir -p $(DIST) @$(WIN_GPP) -I $(SRC_DIR) -shared -static-libgcc -static-libstdc++ -s -o $(DIST)/example-plugin32.dll test-apps/example-plugin.cpp @$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-plugin-load32.exe test-apps/test-plugin-load.cpp @$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-spawn32.exe test-apps/test-spawn.cpp @$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-eios32.exe test-apps/test-eios.cpp @$(WIN_GPP) -static-libgcc -static-libstdc++ -o $(DIST)/test-exports32.exe test-apps/test-exports.cpp @echo "Finished building Windows 32bit test files" test-windows64: @mkdir -p $(DIST) @$(WIN64_GPP) -I $(SRC_DIR) -shared -static-libgcc -static-libstdc++ -s -o $(DIST)/example-plugin64.dll test-apps/example-plugin.cpp @$(WIN64_GPP) -static -static-libgcc -static-libstdc++ -o $(DIST)/test-plugin-load64.exe test-apps/test-plugin-load.cpp @$(WIN64_GPP) -static -static-libgcc -static-libstdc++ -o $(DIST)/test-spawn64.exe test-apps/test-spawn.cpp @$(WIN64_GPP) -static -static-libgcc -static-libstdc++ -o $(DIST)/test-eios64.exe test-apps/test-eios.cpp @$(WIN64_GPP) -static -static-libgcc -static-libstdc++ -o $(DIST)/test-exports64.exe test-apps/test-exports.cpp @echo "Finished building Windows 64bit test files" test-python: @mkdir -p $(DIST) @cp test-apps/test-python.py $(DIST)/test-python @echo "Finished building Python test files" clean: @echo "Cleaning build files..." @rm -rf $(BUILD) $(DIST) #### LINUX BUILDING DIRECTIVES #### $(DIST)/$(LIN_NAME): $(LINOBJFILES) @echo "Linking Linux Remote object files..." @mkdir -p $(DIST) @$(LIN_GPP) -fPIC -shared -s -o $(DIST)/$(LIN_NAME) $(LINOBJFILES) $(DIST)/$(JNI_LIN_NAME): $(JNI_LINOBJFILES) @echo "Linking Linux JNI object files..." @mkdir -p $(DIST) @$(LIN_GPP) -fPIC -shared -s -o $(DIST)/$(JNI_LIN_NAME) $(JNI_LINOBJFILES) $(LIN_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES) @echo "Compiling SmartRemote.cpp" @mkdir -p $(LIN_BUILD_DIR) @$(LIN_GPP) $(LIN_COMPILE_ARGS) -o $(LIN_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp $(LIN_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES) @echo "Compiling SmartJNI.cpp" @mkdir -p $(LIN_BUILD_DIR) @$(LIN_GPP) $(LIN_COMPILE_ARGS) -o $(LIN_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp #### LINUX64 BUILDING DIRECTIVES #### $(DIST)/$(LIN64_NAME): $(LIN64OBJFILES) @echo "Linking Linux64 Remote object files..." @mkdir -p $(DIST) @$(LIN64_GPP) -fPIC -shared -s -o $(DIST)/$(LIN64_NAME) $(LIN64OBJFILES) $(DIST)/$(JNI_LIN64_NAME): $(JNI_LIN64OBJFILES) @echo "Linking Linux64 JNI object files..." @mkdir -p $(DIST) @$(LIN64_GPP) -fPIC -shared -s -o $(DIST)/$(JNI_LIN64_NAME) $(JNI_LIN64OBJFILES) $(LIN64_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES) @echo "Compiling SmartRemote.cpp" @mkdir -p $(LIN64_BUILD_DIR) @$(LIN64_GPP) $(LIN64_COMPILE_ARGS) -o $(LIN64_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp $(LIN64_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES) @echo "Compiling SmartJNI.cpp" @mkdir -p $(LIN64_BUILD_DIR) @$(LIN64_GPP) $(LIN64_COMPILE_ARGS) -o $(LIN64_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp #### WINDOWS BUILDING DIRECTIVES #### $(DIST)/$(WIN_NAME): $(WINOBJFILES) @echo "Linking Windows Remote object files..." @mkdir -p $(DIST) @$(WIN_GPP) -Wl,$(SRC_DIR)/libsmartremote.def -static -static-libgcc -static-libstdc++ -mwindows -shared -s -m32 -o $(DIST)/$(WIN_NAME) $(WINOBJFILES) -lws2_32 $(DIST)/$(JNI_WIN_NAME): $(JNI_WINOBJFILES) @echo "Linking Windows JNI object files..." @mkdir -p $(DIST) @$(WIN_GPP) -Wl,$(SRC_DIR)/libsmartjni.def -static -static-libgcc -static-libstdc++ -mwindows -shared -s -m32 -o $(DIST)/$(JNI_WIN_NAME) $(JNI_WINOBJFILES) $(WIN_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES) @echo "Compiling SmartRemote.cpp" @mkdir -p $(WIN_BUILD_DIR) @$(WIN_GPP) $(WIN_COMPILE_ARGS) -o $(WIN_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp -lws2_32 $(WIN_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES) @echo "Compiling SmartJNI.cpp" @mkdir -p $(WIN_BUILD_DIR) @$(WIN_GPP) $(WIN_COMPILE_ARGS) -o $(WIN_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp #### WINDOWS64 BUILDING DIRECTIVES #### $(DIST)/$(WIN64_NAME): $(WIN64OBJFILES) @echo "Linking Windows64 Remote object files..." @mkdir -p $(DIST) @$(WIN64_GPP) -Wl,$(SRC_DIR)/libsmartremote.def -static -static-libgcc -static-libstdc++ -mwindows -shared -s -m64 -o $(DIST)/$(WIN64_NAME) $(WIN64OBJFILES) -lws2_32 $(DIST)/$(JNI_WIN64_NAME): $(JNI_WIN64OBJFILES) @echo "Linking Windows64 JNI object files..." @mkdir -p $(DIST) @$(WIN64_GPP) -Wl,$(SRC_DIR)/libsmartjni.def -static -static-libgcc -static-libstdc++ -mwindows -shared -s -m64 -o $(DIST)/$(JNI_WIN64_NAME) $(JNI_WIN64OBJFILES) $(WIN64_BUILD_DIR)/SmartRemote.o: $(SRC_DIR)/SmartRemote.cpp $(CPPHEADERFILES) @echo "Compiling SmartRemote.cpp" @mkdir -p $(WIN64_BUILD_DIR) @$(WIN64_GPP) $(WIN64_COMPILE_ARGS) -o $(WIN64_BUILD_DIR)/SmartRemote.o $(SRC_DIR)/SmartRemote.cpp -lws2_32 $(WIN64_BUILD_DIR)/SmartJNI.o: $(SRC_DIR)/SmartJNI.cpp $(JNI_CPPHEADERFILES) @echo "Compiling SmartJNI.cpp" @mkdir -p $(WIN64_BUILD_DIR) @$(WIN64_GPP) $(WIN64_COMPILE_ARGS) -o $(WIN64_BUILD_DIR)/SmartJNI.o $(SRC_DIR)/SmartJNI.cpp #### JAVA BUILDING DIRECTIVES #### $(JAVACLASSES): $(JAVASOURCES) @echo "Compiling Java Classes..." @mkdir -p $(JAVA_BUILD_DIR) @$(JAVAC) -classpath $(JAVA_BUILD_DIR) -sourcepath $(SRC_DIR) -d $(JAVA_BUILD_DIR) $(JAVASOURCES) @echo "Creating JAR Archive..." @mkdir -p $(DIST) @$(JAR) cfe $(DIST)/$(JAVA_NAME) smart.Main -C $(JAVA_BUILD_DIR) .
अंतर खोजें