2007-10-23 17:22:48 +00:00
|
|
|
#MAKEFLAGS = -s
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-22 20:56:27 +00:00
|
|
|
build-arch = $(shell uname -m)
|
|
|
|
ifeq ($(build-arch),i586)
|
|
|
|
build-arch = i386
|
2007-06-29 16:43:25 +00:00
|
|
|
endif
|
2007-10-22 20:56:27 +00:00
|
|
|
ifeq ($(build-arch),i686)
|
|
|
|
build-arch = i386
|
2007-06-29 16:43:25 +00:00
|
|
|
endif
|
2007-06-29 16:42:39 +00:00
|
|
|
|
2007-10-22 20:56:27 +00:00
|
|
|
build-platform = $(shell uname -s | tr [:upper:] [:lower:])
|
2007-09-21 14:16:43 +00:00
|
|
|
|
2007-10-23 17:22:48 +00:00
|
|
|
ifeq ($(build-platform),cygwin_nt-5.1)
|
|
|
|
build-platform = windows
|
|
|
|
endif
|
|
|
|
|
2007-10-22 20:56:27 +00:00
|
|
|
arch = $(build-arch)
|
|
|
|
|
|
|
|
platform = $(build-platform)
|
2007-09-19 16:22:19 +00:00
|
|
|
|
2007-09-26 14:43:40 +00:00
|
|
|
process = interpret
|
2007-09-25 23:53:11 +00:00
|
|
|
|
2007-07-16 01:03:02 +00:00
|
|
|
mode = debug
|
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
build = build
|
|
|
|
native-build = $(build)/$(platform)/$(arch)/$(mode)
|
|
|
|
classpath-build = $(build)/classpath
|
|
|
|
test-build = $(build)/test
|
2007-06-03 23:16:07 +00:00
|
|
|
src = src
|
2007-06-25 01:34:07 +00:00
|
|
|
classpath = classpath
|
2007-07-16 01:03:02 +00:00
|
|
|
test = test
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
input = $(test-build)/Hello.class
|
|
|
|
|
2007-10-22 20:56:27 +00:00
|
|
|
build-cxx = g++
|
|
|
|
build-cc = gcc
|
2007-07-17 01:55:49 +00:00
|
|
|
|
2007-10-25 14:55:48 +00:00
|
|
|
pthread = -pthread
|
|
|
|
lpthread = -lpthread
|
|
|
|
|
2007-10-22 20:56:27 +00:00
|
|
|
cxx = $(build-cxx)
|
|
|
|
cc = $(build-cc)
|
2007-10-23 23:23:55 +00:00
|
|
|
ar = ar
|
|
|
|
ranlib = ranlib
|
2007-09-14 23:04:08 +00:00
|
|
|
vg = nice valgrind --suppressions=valgrind.supp --undef-value-errors=no \
|
2007-09-13 16:43:33 +00:00
|
|
|
--num-callers=32 --db-attach=yes --freelist-vol=100000000
|
2007-08-19 19:45:51 +00:00
|
|
|
db = gdb --args
|
2007-06-21 01:38:02 +00:00
|
|
|
javac = javac
|
2007-10-25 22:06:05 +00:00
|
|
|
zip = zip
|
2007-08-19 19:45:51 +00:00
|
|
|
strip = :
|
|
|
|
show-size = :
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-22 20:56:27 +00:00
|
|
|
rdynamic = -rdynamic
|
|
|
|
shared = -shared
|
|
|
|
|
2007-10-08 19:29:40 +00:00
|
|
|
warnings = -Wall -Wextra -Werror -Wunused-parameter \
|
2007-06-03 23:16:07 +00:00
|
|
|
-Winit-self -Wconversion
|
|
|
|
|
2007-10-23 23:23:55 +00:00
|
|
|
common-cflags = $(warnings) -fno-rtti -fno-exceptions \
|
2007-10-25 22:06:05 +00:00
|
|
|
-I$(JAVA_HOME)/include -idirafter $(src) -I$(native-build) \
|
|
|
|
-D__STDC_LIMIT_MACROS -D_JNI_IMPLEMENTATION_
|
2007-10-23 23:23:55 +00:00
|
|
|
|
2007-10-22 20:56:27 +00:00
|
|
|
system = posix
|
2007-10-23 01:00:57 +00:00
|
|
|
asm = x86
|
2007-10-25 14:58:44 +00:00
|
|
|
begin-merge-archive = -Wl,--whole-archive
|
|
|
|
end-merge-archive = -Wl,--no-whole-archive
|
2007-10-22 20:56:27 +00:00
|
|
|
|
|
|
|
ifeq ($(platform),darwin)
|
|
|
|
rdynamic =
|
|
|
|
thread-cflags =
|
|
|
|
shared = -dynamiclib
|
2007-10-25 14:55:48 +00:00
|
|
|
pthread =
|
|
|
|
lpthread =
|
2007-10-25 14:58:44 +00:00
|
|
|
begin-merge-archive = -Wl,-all_load
|
|
|
|
end-merge-archive =
|
2007-10-22 20:56:27 +00:00
|
|
|
endif
|
|
|
|
ifeq ($(platform),windows)
|
2007-10-24 15:46:44 +00:00
|
|
|
inc = /usr/local/win32/include
|
|
|
|
lib = /usr/local/win32/lib
|
2007-10-22 20:56:27 +00:00
|
|
|
|
|
|
|
system = windows
|
2007-10-23 20:05:59 +00:00
|
|
|
|
2007-10-23 23:23:55 +00:00
|
|
|
cxx = i586-mingw32msvc-g++
|
|
|
|
cc = i586-mingw32msvc-gcc
|
|
|
|
dlltool = i586-mingw32msvc-dlltool
|
|
|
|
ar = i586-mingw32msvc-ar
|
|
|
|
ranlib = i586-mingw32msvc-ranlib
|
2007-10-23 20:05:59 +00:00
|
|
|
|
|
|
|
rdynamic = -Wl,--export-dynamic
|
2007-10-24 17:24:19 +00:00
|
|
|
lflags = -L$(lib) -lm -lz -lws2_32 -Wl,--kill-at -mwindows -mconsole
|
2007-10-23 23:23:55 +00:00
|
|
|
cflags = $(common-cflags) -I$(inc)
|
2007-10-22 20:56:27 +00:00
|
|
|
endif
|
2007-08-18 22:42:11 +00:00
|
|
|
|
2007-10-25 14:55:48 +00:00
|
|
|
cflags = $(common-cflags) -fPIC -fvisibility=hidden \
|
|
|
|
-I$(JAVA_HOME)/include/linux -I$(src) $(pthread)
|
|
|
|
|
|
|
|
lflags = $(lpthread) -ldl -lm -lz
|
|
|
|
|
2007-07-16 01:03:02 +00:00
|
|
|
ifeq ($(mode),debug)
|
2007-10-22 20:56:27 +00:00
|
|
|
cflags += -O0 -g3
|
2007-07-16 01:03:02 +00:00
|
|
|
endif
|
|
|
|
ifeq ($(mode),stress)
|
2007-10-22 20:56:27 +00:00
|
|
|
cflags += -O0 -g3 -DVM_STRESS
|
2007-07-16 01:03:02 +00:00
|
|
|
endif
|
|
|
|
ifeq ($(mode),stress-major)
|
2007-10-22 20:56:27 +00:00
|
|
|
cflags += -O0 -g3 -DVM_STRESS -DVM_STRESS_MAJOR
|
2007-07-16 01:03:02 +00:00
|
|
|
endif
|
|
|
|
ifeq ($(mode),fast)
|
2007-10-22 20:56:27 +00:00
|
|
|
cflags += -O3 -DNDEBUG
|
|
|
|
strip = strip
|
|
|
|
show-size = ls -l
|
2007-08-18 22:42:11 +00:00
|
|
|
endif
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-22 20:56:27 +00:00
|
|
|
ifeq ($(arch),i386)
|
2007-10-23 23:23:55 +00:00
|
|
|
pointer-size = 4
|
2007-10-22 20:56:27 +00:00
|
|
|
else
|
2007-10-23 23:23:55 +00:00
|
|
|
pointer-size = 8
|
2007-10-22 20:56:27 +00:00
|
|
|
endif
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-22 20:56:27 +00:00
|
|
|
cpp-objects = $(foreach x,$(1),$(patsubst $(2)/%.cpp,$(3)/%.o,$(x)))
|
|
|
|
asm-objects = $(foreach x,$(1),$(patsubst $(2)/%.S,$(3)/%-asm.o,$(x)))
|
2007-10-25 22:06:05 +00:00
|
|
|
java-classes = $(foreach x,$(1),$(patsubst $(2)/%.java,$(3)/%.class,$(x)))
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-07-26 00:48:28 +00:00
|
|
|
jni-sources = $(shell find $(classpath) -name '*.cpp')
|
2007-10-25 22:06:05 +00:00
|
|
|
jni-objects = $(call cpp-objects,$(jni-sources),$(classpath),$(native-build))
|
2007-10-23 23:23:55 +00:00
|
|
|
jni-cflags = $(cflags)
|
2007-06-25 01:34:07 +00:00
|
|
|
|
2007-06-18 19:23:44 +00:00
|
|
|
generated-code = \
|
2007-10-25 22:06:05 +00:00
|
|
|
$(native-build)/type-enums.cpp \
|
|
|
|
$(native-build)/type-declarations.cpp \
|
|
|
|
$(native-build)/type-constructors.cpp \
|
|
|
|
$(native-build)/type-initializations.cpp \
|
|
|
|
$(native-build)/type-java-initializations.cpp
|
2007-07-06 23:50:26 +00:00
|
|
|
|
2007-06-18 19:23:44 +00:00
|
|
|
interpreter-depends = \
|
|
|
|
$(generated-code) \
|
2007-06-18 21:13:21 +00:00
|
|
|
$(src)/common.h \
|
|
|
|
$(src)/system.h \
|
2007-06-04 23:39:59 +00:00
|
|
|
$(src)/heap.h \
|
2007-08-10 23:45:47 +00:00
|
|
|
$(src)/finder.h \
|
2007-09-24 01:39:03 +00:00
|
|
|
$(src)/processor.h \
|
2007-09-27 00:01:38 +00:00
|
|
|
$(src)/process.h \
|
2007-06-18 21:13:21 +00:00
|
|
|
$(src)/stream.h \
|
|
|
|
$(src)/constants.h \
|
2007-07-06 23:50:26 +00:00
|
|
|
$(src)/jnienv.h \
|
|
|
|
$(src)/machine.h
|
|
|
|
|
2007-06-03 23:16:07 +00:00
|
|
|
interpreter-sources = \
|
2007-10-22 20:56:27 +00:00
|
|
|
$(src)/$(system).cpp \
|
2007-08-10 23:45:47 +00:00
|
|
|
$(src)/finder.cpp \
|
2007-07-06 23:50:26 +00:00
|
|
|
$(src)/machine.cpp \
|
2007-06-20 19:20:25 +00:00
|
|
|
$(src)/heap.cpp \
|
2007-09-25 23:53:11 +00:00
|
|
|
$(src)/$(process).cpp \
|
2007-07-20 14:36:31 +00:00
|
|
|
$(src)/builtin.cpp \
|
2007-10-25 15:04:13 +00:00
|
|
|
$(src)/jnienv.cpp
|
2007-06-29 02:58:48 +00:00
|
|
|
|
2007-10-23 01:00:57 +00:00
|
|
|
interpreter-asm-sources = $(src)/$(asm).S
|
2007-10-22 20:56:27 +00:00
|
|
|
|
|
|
|
ifeq ($(process),compile)
|
|
|
|
interpreter-asm-sources += $(src)/compile.S
|
|
|
|
endif
|
2007-06-29 02:58:48 +00:00
|
|
|
|
|
|
|
interpreter-cpp-objects = \
|
2007-10-25 22:06:05 +00:00
|
|
|
$(call cpp-objects,$(interpreter-sources),$(src),$(native-build))
|
2007-06-29 17:45:14 +00:00
|
|
|
interpreter-asm-objects = \
|
2007-10-25 22:06:05 +00:00
|
|
|
$(call asm-objects,$(interpreter-asm-sources),$(src),$(native-build))
|
2007-06-29 02:58:48 +00:00
|
|
|
interpreter-objects = \
|
|
|
|
$(interpreter-cpp-objects) \
|
2007-06-29 17:45:14 +00:00
|
|
|
$(interpreter-asm-objects)
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-25 15:04:13 +00:00
|
|
|
driver-sources = $(src)/main.cpp
|
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
driver-objects = $(call cpp-objects,$(driver-sources),$(src),$(native-build))
|
2007-10-25 15:04:13 +00:00
|
|
|
|
2007-06-04 23:39:59 +00:00
|
|
|
generator-headers = \
|
|
|
|
$(src)/input.h \
|
|
|
|
$(src)/output.h
|
2007-10-25 22:06:05 +00:00
|
|
|
generator-sources = $(src)/type-generator.cpp
|
|
|
|
generator-objects = \
|
|
|
|
$(call cpp-objects,$(generator-sources),$(src),$(native-build))
|
|
|
|
generator = $(native-build)/generator
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
bin2c-sources = $(src)/bin2c.cpp
|
|
|
|
bin2c-objects = $(call cpp-objects,$(bin2c-sources),$(src),$(native-build))
|
|
|
|
bin2c = $(native-build)/bin2c
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
archive = $(native-build)/libvm.a
|
|
|
|
interpreter = $(native-build)/vm
|
2007-06-30 02:39:01 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
classpath-sources = $(shell find $(classpath) -name '*.java')
|
|
|
|
classpath-classes = \
|
|
|
|
$(call java-classes,$(classpath-sources),$(classpath),$(classpath-build))
|
|
|
|
classpath-object = $(native-build)/classpath.o
|
2007-07-16 01:03:02 +00:00
|
|
|
|
|
|
|
test-sources = $(shell find $(test) -name '*.java')
|
2007-10-25 22:06:05 +00:00
|
|
|
test-classes = $(call java-classes,$(test-sources),$(test),$(test-build))
|
2007-07-16 01:03:02 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
class-name = $(patsubst $(1)/%.class,%,$(2))
|
2007-07-16 01:03:02 +00:00
|
|
|
class-names = $(foreach x,$(1),$(call class-name,$(x)))
|
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
flags = -cp $(test-build)
|
|
|
|
args = $(flags) $(call class-name,$(test-build),$(input))
|
2007-06-21 01:38:02 +00:00
|
|
|
|
2007-06-03 23:16:07 +00:00
|
|
|
.PHONY: build
|
2007-10-25 22:06:05 +00:00
|
|
|
build: $(interpreter) $(classpath-classes) $(test-classes)
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-09-30 16:32:17 +00:00
|
|
|
$(input): $(classpath-classes)
|
2007-06-21 01:38:02 +00:00
|
|
|
|
2007-06-03 23:16:07 +00:00
|
|
|
.PHONY: run
|
2007-09-30 16:32:17 +00:00
|
|
|
run: build
|
2007-10-25 22:06:05 +00:00
|
|
|
$(interpreter) $(args)
|
2007-06-03 23:16:07 +00:00
|
|
|
|
|
|
|
.PHONY: debug
|
2007-09-30 16:32:17 +00:00
|
|
|
debug: build
|
2007-10-25 22:06:05 +00:00
|
|
|
gdb --args $(interpreter) $(args)
|
2007-06-03 23:16:07 +00:00
|
|
|
|
|
|
|
.PHONY: vg
|
2007-09-30 16:32:17 +00:00
|
|
|
vg: build
|
2007-10-25 22:06:05 +00:00
|
|
|
$(vg) $(interpreter) $(args)
|
2007-06-03 23:16:07 +00:00
|
|
|
|
|
|
|
.PHONY: test
|
2007-10-23 23:23:55 +00:00
|
|
|
test: build
|
|
|
|
/bin/bash $(test)/test.sh 2>/dev/null \
|
2007-10-25 22:06:05 +00:00
|
|
|
$(interpreter) $(mode) "$(flags)" $(call class-names,$(test-classes))
|
2007-06-03 23:16:07 +00:00
|
|
|
|
|
|
|
.PHONY: clean
|
|
|
|
clean:
|
2007-06-29 16:42:39 +00:00
|
|
|
@echo "removing build"
|
|
|
|
rm -rf build
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-08-19 19:45:51 +00:00
|
|
|
.PHONY: clean-native
|
|
|
|
clean-native:
|
2007-10-25 22:06:05 +00:00
|
|
|
@echo "removing $(native-build)"
|
|
|
|
rm -rf $(native-build)
|
2007-08-19 19:45:51 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
gen-arg = $(shell echo $(1) | sed -e 's:$(native-build)/type-\(.*\)\.cpp:\1:')
|
|
|
|
$(generated-code): %.cpp: $(src)/types.def $(generator)
|
2007-06-03 23:16:07 +00:00
|
|
|
@echo "generating $(@)"
|
2007-10-23 20:05:59 +00:00
|
|
|
@mkdir -p -m 1777 $(dir $(@))
|
2007-10-25 22:06:05 +00:00
|
|
|
$(generator) $(call gen-arg,$(@)) < $(<) > $(@)
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
$(native-build)/type-generator.o: \
|
2007-06-04 23:39:59 +00:00
|
|
|
$(generator-headers)
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-07-16 01:03:02 +00:00
|
|
|
define compile-class
|
2007-06-21 01:38:02 +00:00
|
|
|
@echo "compiling $(@)"
|
2007-10-23 17:22:48 +00:00
|
|
|
@mkdir -p -m 1777 $(dir $(@))
|
2007-09-19 14:16:49 +00:00
|
|
|
$(javac) -bootclasspath $(classpath) -classpath $(classpath) \
|
2007-10-25 22:06:05 +00:00
|
|
|
-d $(1) $(<)
|
2007-09-30 16:32:17 +00:00
|
|
|
@touch $(@)
|
2007-07-16 01:03:02 +00:00
|
|
|
endef
|
2007-06-21 01:38:02 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
$(classpath-build)/%.class: $(classpath)/%.java
|
|
|
|
@echo "compiling $(@)"
|
|
|
|
@mkdir -p -m 1777 $(dir $(@))
|
|
|
|
$(javac) -bootclasspath $(classpath) -classpath $(classpath) \
|
|
|
|
-d $(classpath-build) $(<)
|
|
|
|
@touch $(@)
|
2007-06-29 02:58:48 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
$(test-build)/%.class: $(test)/%.java
|
|
|
|
@echo "compiling $(@)"
|
|
|
|
@mkdir -p -m 1777 $(dir $(@))
|
|
|
|
$(javac) -bootclasspath $(classpath) -classpath $(classpath) \
|
|
|
|
-d $(test-build) $(<)
|
|
|
|
@touch $(@)
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-07-16 01:03:02 +00:00
|
|
|
define compile-object
|
2007-06-03 23:16:07 +00:00
|
|
|
@echo "compiling $(@)"
|
2007-10-23 17:22:48 +00:00
|
|
|
@mkdir -p -m 1777 $(dir $(@))
|
2007-07-16 01:03:02 +00:00
|
|
|
$(cxx) $(cflags) -c $(<) -o $(@)
|
|
|
|
endef
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
$(interpreter-cpp-objects): \
|
|
|
|
$(native-build)/%.o: $(src)/%.cpp $(interpreter-depends)
|
|
|
|
$(compile-object)
|
|
|
|
|
|
|
|
$(interpreter-asm-objects): $(native-build)/%-asm.o: $(src)/%.S
|
2007-07-16 01:03:02 +00:00
|
|
|
$(compile-object)
|
2007-06-29 17:45:14 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
$(driver-objects): $(native-build)/%.o: $(src)/%.cpp
|
2007-07-16 01:03:02 +00:00
|
|
|
$(compile-object)
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
$(bin2c-objects): $(native-build)/%.o: $(src)/%.cpp
|
2007-10-25 15:04:13 +00:00
|
|
|
$(compile-object)
|
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
$(build)/classpath.zip: $(classpath-classes)
|
|
|
|
echo $(classpath-classes)
|
2007-10-26 00:03:26 +00:00
|
|
|
(wd=$$(pwd); \
|
|
|
|
cd $(classpath-build); \
|
|
|
|
$(zip) -q -0 $${wd}/$(@) $$(find -name '*.class'))
|
2007-10-25 22:06:05 +00:00
|
|
|
|
|
|
|
$(build)/classpath.c: $(build)/classpath.zip $(bin2c)
|
|
|
|
$(bin2c) $(<) vmClasspath >$(@)
|
|
|
|
|
|
|
|
$(classpath-object): $(build)/classpath.c
|
|
|
|
$(cxx) $(cflags) -c $(<) -o $(@)
|
|
|
|
|
|
|
|
$(generator-objects): $(native-build)/%.o: $(src)/%.cpp
|
2007-10-22 20:56:27 +00:00
|
|
|
@echo "compiling $(@)"
|
2007-10-23 17:22:48 +00:00
|
|
|
@mkdir -p -m 1777 $(dir $(@))
|
2007-10-23 20:05:59 +00:00
|
|
|
$(build-cxx) -DPOINTER_SIZE=$(pointer-size) $(cflags) -c $(<) -o $(@)
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
$(jni-objects): $(native-build)/%.o: $(classpath)/%.cpp
|
2007-06-25 01:34:07 +00:00
|
|
|
@echo "compiling $(@)"
|
2007-10-23 17:22:48 +00:00
|
|
|
@mkdir -p -m 1777 $(dir $(@))
|
2007-10-23 23:23:55 +00:00
|
|
|
$(cxx) $(jni-cflags) -c $(<) -o $(@)
|
2007-06-25 01:34:07 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
$(archive): $(interpreter-objects) $(jni-objects) $(classpath-object)
|
2007-10-23 20:05:59 +00:00
|
|
|
ifeq ($(platform),windows)
|
2007-10-23 23:23:55 +00:00
|
|
|
@echo "creating $(@)"
|
2007-10-24 17:24:19 +00:00
|
|
|
$(dlltool) -z $(@).def $(^)
|
2007-10-23 20:18:42 +00:00
|
|
|
$(dlltool) -k -d $(@).def -e $(@).exp
|
2007-10-23 23:23:55 +00:00
|
|
|
$(ar) cru $(@) $(@).exp $(^)
|
|
|
|
$(ranlib) $(@)
|
2007-10-23 20:05:59 +00:00
|
|
|
else
|
2007-10-23 23:23:55 +00:00
|
|
|
@echo "creating $(@)"
|
|
|
|
$(ar) cru $(@) $(^)
|
|
|
|
$(ranlib) $(@)
|
|
|
|
endif
|
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
$(interpreter): $(archive) $(driver-objects)
|
2007-06-03 23:16:07 +00:00
|
|
|
@echo "linking $(@)"
|
2007-10-25 15:03:24 +00:00
|
|
|
$(cc) $(begin-merge-archive) $(^) $(end-merge-archive) \
|
2007-10-23 23:23:55 +00:00
|
|
|
$(lflags) $(rdynamic) -o $(@)
|
2007-08-20 02:57:32 +00:00
|
|
|
@$(strip) --strip-all $(@)
|
|
|
|
@$(show-size) $(@)
|
2007-06-03 23:16:07 +00:00
|
|
|
|
2007-10-25 22:06:05 +00:00
|
|
|
$(generator): $(generator-objects)
|
|
|
|
@echo "linking $(@)"
|
|
|
|
$(build-cc) $(^) -o $(@)
|
|
|
|
|
|
|
|
$(bin2c): $(bin2c-objects)
|
2007-06-03 23:16:07 +00:00
|
|
|
@echo "linking $(@)"
|
2007-10-23 20:05:59 +00:00
|
|
|
$(build-cc) $(^) -o $(@)
|