32 lines
1.0 KiB
Makefile
32 lines
1.0 KiB
Makefile
|
|
NDK_BASE := ../..
|
|
|
|
include $(NDK_BASE)/config/config.mk
|
|
|
|
# Assumes PREBUILT is defined to point to the correct flavor of the prebuilt
|
|
# directory in the Android source tree
|
|
|
|
SOURCES := hellolibrary.c
|
|
OBJECTS := $(SOURCES:.c=.o)
|
|
LIBS := -lc -lm
|
|
ALIB := $(PREBUILT)/toolchain/arm-eabi-4.2.1/lib/gcc/arm-eabi/4.2.1/interwork/libgcc.a
|
|
|
|
all: sharedlib staticlib
|
|
|
|
# Using shared and static suffixes as these are going in the same directory;
|
|
# typically you would not do this as you would make only one version,
|
|
# but if we don't we'll screw up the linking because of linker defaults.
|
|
|
|
staticlib: $(OBJECTS)
|
|
$(AR) -cr libhello-static.a $(OBJECTS)
|
|
|
|
sharedlib: hellolibrary-shared.o
|
|
$(CC) -nostdlib -Wl,-soname,libhello-shared.so -Wl,-shared,-Bsymbolic -L$(NDK_BASE)/lib $^ $(LIBS) -o libhello-shared.so -Wl,--no-undefined $(ALIB)
|
|
|
|
hellolibrary-shared.o: hellolibrary.c
|
|
$(CC) -c -fpic $(INC) -o $@ $^
|
|
|
|
clean:
|
|
rm -rf *.o libhello-static.a libhello-shared.so
|
|
|