-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakefile.template
executable file
·90 lines (59 loc) · 1.46 KB
/
makefile.template
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
# Generated by Eclipse GCJ Builder
# http://gcjbuilder.sf.net
#global targets
ALL: main
all: main
#gcj variable
GCJ=gcj $(OPTLEVEL) $(DEBUGLEVEL) $(COMPILER_OPTIONS)
#binary output folder
BINOUT= %(bin_out)%
#compiler options
COMPILER_OPTIONS=%(compiler_options)%
#linker options
LINKER_OPTIONS=%(linker_options)%
#object list
OBJ=%(object_list)%
#custom objects
CUSTOM_OBJ=%(custom_obj)%
#jar objects
CPOBJ=%(cpobj)%
#jar so
CPSO=%(cpso)%
#project classpath
CP="--classpath=%(classpath)%"
#main class (or so output)
MAINCLASS=%(mainclass)%
#binary name (exe or so)
BIN=$(BINOUT)%(bin)%
#library path list
LIBRARYPATH=-L$(BINOUT) %(lib_path)%
#libraries (so) list
LIBRARIES=%(libs)%
#resource objects list
RESOB=%(res_list)%
#compiler optimization level
OPTLEVEL=%(opt)%
#compiler debug level
DEBUGLEVEL=%(dbg)%
#object targets
%.o: %.java
$(GCJ) $(CP) -c $? -o $@
##################
#dummy targets (depend on config)
#classpath objects target
%(cp_obj_target)%
#classpath so target
%(cp_so_target)%
#resource objects target
%(res_target)%
#################
#main target
main: setup $(CPOBJ) $(RESOB) $(OBJ) $(CPSO)
$(GCJ) $(LINKER_OPTIONS) $(MAINCLASS) $(CPOBJ) $(CUSTOM_OBJ) $(RESOB) $(OBJ) -o$(BIN) $(LIBRARYPATH) $(LIBRARIES) $(CPSO)
#setup output folders
setup:
mkdir -p $(BINOUT)/resource
#clean target
clean:
rm -f `find . -name "*.o"`
rm -r $(BINOUT)