blob: 3a7d02d520ffd51a946e8cc078ede1187b43672d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
# $FreeBSD$
ECHO= /bin/echo
FIND= /usr/bin/find
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
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 init buildDoc
build-install:
$(ANT) -f build.xml install gatherFeatureBinaries gatherFeatureSources
install:
@$(ECHO) "===> Creating destination directory..."
@$(MKDIR) $(PORTDESTDIR)
@$(ECHO) "===> Installing a shell 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 platform."
@$(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
@$(FIND) features -name *.zip -exec unzip -o {} -d $(PORTDESTDIR) \;
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)
|