diff options
Diffstat (limited to 'native')
-rw-r--r-- | native/org.eclipse.cdt.native.serial/jni/Makefile | 18 | ||||
-rw-r--r-- | native/org.eclipse.cdt.native.serial/pom.xml | 218 |
2 files changed, 232 insertions, 4 deletions
diff --git a/native/org.eclipse.cdt.native.serial/jni/Makefile b/native/org.eclipse.cdt.native.serial/jni/Makefile index fb4cf6fcc41..19663384905 100644 --- a/native/org.eclipse.cdt.native.serial/jni/Makefile +++ b/native/org.eclipse.cdt.native.serial/jni/Makefile @@ -16,6 +16,8 @@ endif OS_DIR = ../os +CFLAGS += -fPIC -D_REENTRANT + UNAME = $(shell uname) ifeq ($(UNAME),Linux) LIBS = \ @@ -37,7 +39,7 @@ endif all: $(LIBS) clean : - rm $(LIBS) + $(RM) $(LIBS) rebuild: clean all @@ -51,12 +53,20 @@ $(OS_DIR)/win32/x86_64/serial.dll: serial.c $(OS_DIR)/linux/x86/libserial.so: serial.c mkdir -p $(dir $@) - gcc -m32 -fPIC -D_REENTRANT -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -shared -o $@ serial.c + gcc -m32 $(CFLAGS) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux $(LDFLAGS) -shared -o $@ serial.c $(OS_DIR)/linux/x86_64/libserial.so: serial.c mkdir -p $(dir $@) - gcc -m64 -fPIC -D_REENTRANT -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux -shared -o $@ serial.c + gcc -m64 $(CFLAGS) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux $(LDFLAGS) -shared -o $@ serial.c + +$(OS_DIR)/linux/ppc64/libserial.so: serial.c + mkdir -p $(dir $@) + gcc -m64 $(CFLAGS) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux $(LDFLAGS) -shared -o $@ serial.c + +$(OS_DIR)/linux/ppc64le/libserial.so: serial.c + mkdir -p $(dir $@) + gcc -m64 -mcpu=power8 $(CFLAGS) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux $(LDFLAGS) -shared -o $@ serial.c $(OS_DIR)/macosx/x86_64/libserial.jnilib: serial.c mkdir -p $(dir $@) - clang -fPIC -D_REENTRANT -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin -dynamiclib -o $@ serial.c + clang $(CFLAGS) -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin $(LDFLAGS) -dynamiclib -o $@ serial.c diff --git a/native/org.eclipse.cdt.native.serial/pom.xml b/native/org.eclipse.cdt.native.serial/pom.xml new file mode 100644 index 00000000000..cbf4ae085b1 --- /dev/null +++ b/native/org.eclipse.cdt.native.serial/pom.xml @@ -0,0 +1,218 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Copyright (c) 2018 Red Hat, Inc. and others. + All rights reserved. This program and the accompanying materials + are made available under the terms of the Eclipse Distribution License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/org/documents/edl-v10.php + + Contributors: + Mat Booth (Red Hat) - initial implementation +--> +<project + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" + xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.eclipse.cdt</groupId> + <artifactId>cdt-parent</artifactId> + <version>9.3.0-SNAPSHOT</version> + <relativePath>../../pom.xml</relativePath> + </parent> + + <version>1.1.0-SNAPSHOT</version> + <artifactId>org.eclipse.cdt.native.serial</artifactId> + <packaging>eclipse-plugin</packaging> + + <profiles> + <profile> + <id>build-native.linux.x86</id> + <activation> + <property> + <name>native</name> + <value>linux.x86</value> + </property> + </activation> + <build> + <plugins> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>natives</id> + <phase>process-resources</phase> + <configuration> + <target> + <exec executable="make" newenvironment="false" dir="./jni"> + <arg value="LIBS=../os/linux/x86/libserial.so" /> + </exec> + </target> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <execution> + <id>clean-natives</id> + <phase>clean</phase> + <configuration> + <target> + <exec executable="make" newenvironment="false" dir="./jni"> + <arg value="LIBS=../os/linux/x86/libserial.so" /> + <arg value="clean" /> + </exec> + </target> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>build-native.linux.x86_64</id> + <activation> + <property> + <name>native</name> + <value>linux.x86_64</value> + </property> + </activation> + <build> + <plugins> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>natives</id> + <phase>process-resources</phase> + <configuration> + <target> + <exec executable="make" newenvironment="false" dir="./jni"> + <arg value="LIBS=../os/linux/x86_64/libserial.so" /> + </exec> + </target> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <execution> + <id>clean-natives</id> + <phase>clean</phase> + <configuration> + <target> + <exec executable="make" newenvironment="false" dir="./jni"> + <arg value="LIBS=../os/linux/x86_64/libserial.so" /> + <arg value="clean" /> + </exec> + </target> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>build-native.linux.ppc64</id> + <activation> + <property> + <name>native</name> + <value>linux.ppc64</value> + </property> + </activation> + <build> + <plugins> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>natives</id> + <phase>process-resources</phase> + <configuration> + <target> + <exec executable="make" newenvironment="false" dir="./jni"> + <arg value="LIBS=../os/linux/ppc64/libserial.so" /> + </exec> + </target> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <execution> + <id>clean-natives</id> + <phase>clean</phase> + <configuration> + <target> + <exec executable="make" newenvironment="false" dir="./jni"> + <arg value="LIBS=../os/linux/ppc64/libserial.so" /> + <arg value="clean" /> + </exec> + </target> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>build-native.linux.ppc64le</id> + <activation> + <property> + <name>native</name> + <value>linux.ppc64le</value> + </property> + </activation> + <build> + <plugins> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <executions> + <execution> + <id>natives</id> + <phase>process-resources</phase> + <configuration> + <target> + <exec executable="make" newenvironment="false" dir="./jni"> + <arg value="LIBS=../os/linux/ppc64le/libserial.so" /> + </exec> + </target> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + <execution> + <id>clean-natives</id> + <phase>clean</phase> + <configuration> + <target> + <exec executable="make" newenvironment="false" dir="./jni"> + <arg value="LIBS=../os/linux/ppc64le/libserial.so" /> + <arg value="clean" /> + </exec> + </target> + </configuration> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> +</project> |