summaryrefslogtreecommitdiff
path: root/java/eclipse/files/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'java/eclipse/files/Makefile')
-rw-r--r--java/eclipse/files/Makefile162
1 files changed, 162 insertions, 0 deletions
diff --git a/java/eclipse/files/Makefile b/java/eclipse/files/Makefile
new file mode 100644
index 000000000000..47fe627dca0c
--- /dev/null
+++ b/java/eclipse/files/Makefile
@@ -0,0 +1,162 @@
+# $FreeBSD$
+
+ECHO= /bin/echo
+MKDIR= /bin/mkdir -p
+SED= sed
+ANT= ant -Dos=$(ECLIPSE_OS) -Dws=$(ECLIPSE_WS)
+
+PORTDESTDIR= $(PREFIX)/eclipse
+
+CFLAGS+= -I$(JAVA_HOME)/include \
+ -I$(JAVA_HOME)/include/bsd \
+ -I$(JAVA_HOME)/include/freebsd
+
+LIBUPDATE= libupdate.so
+LIBUPDATE_DST= plugins/org.eclipse.update.core.freebsd/os/freebsd/x86
+LIBUPDATE_SRC= plugins/org.eclipse.update.core.freebsd/src
+
+SWT_VERSION= $(ECLIPSE_BUILD)
+LIBSWT= libswt-gtk-$(SWT_VERSION).so
+LIBSWTPI= libswt-pi-gtk-$(SWT_VERSION).so
+LIBSWT_DST= plugins/org.eclipse.swt.gtk/os/freebsd/x86
+LIBSWT_SRC= plugins/org.eclipse.swt/Eclipse_SWT
+
+LAUNCHER= eclipse
+LAUNCHER_DST= plugins/platform-launcher/bin/freebsd/gtk
+LAUNCHER_SRC= plugins/platform-launcher/library/gtk
+
+LAUNCHER_SRCS= $(LAUNCHER_SRC)/../eclipse.c \
+ $(LAUNCHER_SRC)/../eclipseUtil.c \
+ $(LAUNCHER_SRC)/eclipseGtk.c
+LAUNCHER_OBJS= $(LAUNCHER_SRCS:S/.c/.o/g)
+
+LAUNCHER_CFLAGS= -s \
+ -DPROGRAM_NAME="\"$(LAUNCHER)\"" \
+ -DDEFAULT_OS="\"$(ECLIPSE_OS)\"" \
+ -DDEFAULT_OS_ARCH="\"$(ECLIPSE_ARCH)\"" \
+ -DDEFAULT_WS="\"$(ECLIPSE_WS)\"" \
+ -I$(LAUNCHER_SRC) \
+ -I$(LAUNCHER_SRC)/.. \
+ `pkg-config --cflags gtk+-2.0`
+LAUNCHER_LIBS= `pkg-config --libs gtk+-2.0`
+
+ECLIPSE_TOPLEVEL_FILES= \
+ startup.jar splash.bmp cpl-v10.html \
+ install.ini notice.html .eclipseproduct
+
+ECLIPSE_CORE_FEATURES= \
+ org.eclipse.jdt \
+ org.eclipse.jdt.source \
+ org.eclipse.pde \
+ org.eclipse.platform \
+ org.eclipse.platform.source \
+ org.eclipse.team.extras
+
+ECLIPSE_GTK_FEATURES= \
+ org.eclipse.platform.freebsd.gtk \
+ org.eclipse.platform.freebsd.gtk.source \
+ org.eclipse.sdk.freebsd.gtk \
+
+ECLIPSE_MOTIF_FEATURES= \
+ org.eclipse.platform.freebsd.gtk \
+ org.eclipse.platform.freebsd.gtk.source \
+ org.eclipse.sdk.freebsd.gtk \
+
+ECLIPSE_FEATURES= $(ECLIPSE_CORE_FEATURES)
+
+.if $(ECLIPSE_WS) == gtk
+ECLIPSE_FEATURES+= $(ECLIPSE_GTK_FEATURES)
+.endif
+
+.if $(ECLIPSE_WS) == motif
+ECLIPSE_FEATURES+= $(ECLIPSE_MOTIF_FEATURES)
+.endif
+
+all: binaries java
+
+binaries: libupdate libswt launcher
+
+libupdate: $(LIBUPDATE_DST)/$(LIBUPDATE)
+
+$(LIBUPDATE_DST)/$(LIBUPDATE): $(LIBUPDATE_SRC)/update.cpp
+ @$(ECHO) "===> Building $(LIBUPDATE)."
+ $(MKDIR) $(LIBUPDATE_DST)
+ $(CXX) $(CFLAGS) -shared -fpic -fPIC -I$(LIBUPDATE_SRC) -o $(.TARGET) $(.ALLSRC)
+
+libswt: $(LIBSWT_DST)/$(LIBSWTPI) $(LIBSWT_DST)/$(LIBSWT)
+
+$(LIBSWT_DST)/$(LIBSWT): $(LIBSWT_SRC)/callback.o
+ @$(ECHO) "===> Linking $(LIBSWT)."
+ $(MKDIR) $(LIBSWT_DST)
+ $(CC) -shared -Wl,-x -o $(.TARGET) $(.ALLSRC)
+
+$(LIBSWT_DST)/$(LIBSWTPI): $(LIBSWT_SRC)/structs.o $(LIBSWT_SRC)/swt.o
+ @$(ECHO) "===> Linking $(LIBSWTPI)."
+ $(MKDIR) $(LIBSWT_DST)
+ $(CC) -shared -Wl,-x -o $(.TARGET) $(.ALLSRC) \
+ `pkg-config --libs gthread-2.0` \
+ `pkg-config --libs gtk+-2.0`
+
+.for i in callback.c structs.c swt.c
+$(LIBSWT_SRC)/${i:R:S/$/.o/g}: $(LIBSWT_SRC)/$i
+ @$(ECHO) "===> Compiling $i."
+ $(CC) $(CFLAGS) -c -s -fpic -fPIC -o $(.TARGET) $(.ALLSRC) \
+ `pkg-config --cflags gthread-2.0` \
+ `pkg-config --cflags gtk+-2.0`
+.endfor
+
+launcher: $(LAUNCHER_DST)/$(LAUNCHER)
+
+.for i in $(LAUNCHER_SRCS)
+${i:R:S/$/.o/g}: $i
+ @$(ECHO) "===> Compiling $i."
+ $(CC) -c $(CFLAGS) $(LAUNCHER_CFLAGS) -o $(.TARGET) $(.ALLSRC)
+.endfor
+
+$(LAUNCHER_DST)/$(LAUNCHER):: $(LAUNCHER_OBJS)
+ @$(ECHO) "===> Linking $(LAUNCHER)."
+ $(MKDIR) $(LAUNCHER_DST)
+ $(CXX) -o $(.TARGET) $(.ALLSRC) $(LAUNCHER_LIBS)
+
+java: build-java build-doc build-install
+
+build-java:
+ @$(ECHO) "===> Compiling Java sources."
+ $(ANT) -f build.xml compile
+
+build-doc:
+ @$(ECHO) "===> Building Javadoc."
+ $(ANT) -f build.xml buildDoc
+
+build-install:
+ $(ANT) -f build.xml install
+
+install:
+ @$(ECHO) "===> Creating destination directory..."
+ @$(MKDIR) $(PORTDESTDIR)
+ @$(ECHO) "===> Installing a schell script..."
+ @$(SED) \
+ -e "/%%ECLIPSE_HOME%%/s//$(PORTDESTDIR:S/\//\\\//g)/g" \
+ -e "/%%JAVA_HOME%%/s//$(JAVA_HOME:S/\//\\\//g)/g" \
+ eclipse.in > eclipse.tmp
+ $(BSD_INSTALL_SCRIPT) eclipse.tmp $(PREFIX)/bin/eclipse
+ @$(ECHO) "===> Installing Eclipse plaftorm."
+ @$(MKDIR) $(PORTDESTDIR)
+ $(BSD_INSTALL_PROGRAM) $(LAUNCHER_DST)/$(LAUNCHER) $(PORTDESTDIR)
+.for i in $(ECLIPSE_TOPLEVEL_FILES)
+ $(BSD_INSTALL_DATA) plugins/org.eclipse.platform/$i $(PORTDESTDIR)
+.endfor
+.for i in $(ECLIPSE_FEATURES)
+ @$(ECHO) "===> Installing feature $i"
+ $(ANT) -f features/$i-feature/build.xml \
+ -Dfeature.base=$(PORTDESTDIR) \
+ -Dinclude.children=yes \
+ gather.bin.parts
+.endfor
+
+clean:
+ rm -rf $(LIBUPDATE_DST)/$(LIBUPDATE)
+ rm -rf $(LIBSWT_DST)/$(LIBSWTPI) $(LIBSWT_DST)/$(LIBSWT)
+ rm -rf $(LAUNCHER_DST)/$(LAUNCHER)
+ rm -rf $(LAUNCHER_OBJS)
+ rm -rf $(LIBSWT_SRC)/*.o $(LAUNCHER_OBJS)