58 lines
1.3 KiB
HTML
58 lines
1.3 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
|
|
<html>
|
|
<head>
|
|
<title>Building an Audio CD Player, Listing 5</title>
|
|
</head>
|
|
<body bgcolor="#FFFFFF" text="000000">
|
|
<p><HR> <P>
|
|
<h3>Listing 5. Makefile</h3>
|
|
<p><HR> <P>
|
|
<pre>
|
|
# Generate Position Independent Code for dynamic linking
|
|
# and create a shared object module for JCDdriver to load at run time.
|
|
#
|
|
# Select ARCHOS, CFLAGS, and LDFLAGS for your operating system.
|
|
#
|
|
# Linux
|
|
ARCHOS=ix86-Linux
|
|
CFLAGS= -O -fPIC -I/usr/local/java/include/solaris -I/usr/local/java/include
|
|
LDFLAGS= -shared -Wl,-soname,Jcd_Drive
|
|
#
|
|
# IRIX
|
|
#ARCHOS=mips-Irix
|
|
#CFLAGS= -O -I/usr/java/include/irix -I/usr/java/include
|
|
#LDFLAGS= -shared -Wl,-soname,Jcd_Drive -lcdaudio -lmediad -lds
|
|
#
|
|
|
|
|
|
JAVAC= javac
|
|
#JAVAC= /usr/local/java/bin/javac
|
|
#JAVAC= espresso
|
|
|
|
NATIVE_SRC= Jcd_Drive_$(ARCHOS)
|
|
|
|
%.class : %.java
|
|
$(JAVAC) $<
|
|
|
|
Jcd.class: Jcd.java Jcd_Drive.so
|
|
$(JAVAC) Jcd.java
|
|
chmod +x Jcd.class
|
|
|
|
Jcd_Drive.so: $(NATIVE_SRC).o Jcd_Drive.o
|
|
cc -o Jcd_Drive.so Jcd_Drive.o $(NATIVE_SRC).o $(LDFLAGS)
|
|
mkdir -p native/$(ARCHOS)
|
|
cp Jcd_Drive.so native/$(ARCHOS)/Jcd_Drive.so
|
|
|
|
Jcd_Drive.h: Drive.class
|
|
javah Jcd.Drive
|
|
touch Jcd_Drive.h
|
|
|
|
Jcd_Drive.c: Drive.java
|
|
javah -stubs Jcd.Drive
|
|
touch Jcd_Drive.c
|
|
|
|
$(NATIVE_SRC).c: Jcd_Drive.h
|
|
</pre>
|
|
</body>
|
|
</html>
|