| SHELL = /bin/sh |
| RM = rm -f |
| |
| LOCAL_CFLAGS := -Wall \ |
| -g -Os \ |
| -flto \ |
| -fPIC \ |
| |
| CFLAGS += -fPIC -O2 $(INCLUDE) -D_LARGEFILE64_SOURCE |
| LOCAL_PATH = . |
| |
| LOCAL_C_INCLUDES = \ |
| -I. \ |
| -I$(LOCAL_PATH)/include \ |
| -I$(LOCAL_PATH)/include/liblog \ |
| -I$(LIB_DIR)/binder/include/log \ |
| -I$(LIB_DIR)/binder/include \ |
| |
| |
| LOCAL_LIBS := \ |
| -L. \ |
| -L$(zte_lib_path)/binder/liblog \ |
| -L$(zte_lib_path)/binder/libcutils \ |
| -ldl \ |
| -lstdc++ \ |
| -llog \ |
| -lcutils \ |
| |
| SOURCES = $(wildcard *.c wildcard *.h) |
| |
| EXECUTABLE = libpal.so |
| |
| OBJECTS=$(SOURCES:.c=.o) |
| H_FILE = ${wildcard *.h} |
| CUR_SOURCE=$(wildcard ./src/*.c) |
| CUR_OBJS=${patsubst %.c, %.o, $(CUR_SOURCE)} |
| |
| .PHONY: build clean install pack_rootfs |
| |
| all: build |
| $(EXECUTABLE): $(CUR_OBJS) |
| $(CXX) -shared -Wl,--no-undefined $(CUR_OBJS) $(LOCAL_LIBS) $(CFLAGS) $(LOCAL_CFLAGS) $(LOCAL_C_INCLUDES) -o $@ |
| |
| %.o : %.c |
| $(CC) $(LOCAL_C_INCLUDES) $(CFLAGS) $(LOCAL_CFLAGS) $(LOCAL_LIBS) -o $@ -c $< |
| |
| build: $(EXECUTABLE) |
| $(warning ########## build $(EXECUTABLE) ##########) |
| |
| romfs: |
| $(ROMFSINST) $(EXECUTABLE) /lib/$(EXECUTABLE) |
| |
| install: |
| mkdir -p $(ROOT)$(base_libdir)/ |
| install $(EXECUTABLE) $(ROOT)$(base_libdir)/ |
| mkdir -p $(ROOT)$(includedir)/$(NAME)/sdk |
| |
| pack_rootfs: |
| mkdir -p $(PACK_INITRAMFS_TO)$(base_libdir)/ |
| cp -af $(EXECUTABLE) $(PACK_INITRAMFS_TO)$(base_libdir)/ |
| $(CROSS)strip $(PACK_INITRAMFS_TO)$(base_libdir)/$(EXECUTABLE) |
| mkdir -p $(PACK_TO)$(base_libdir)/ |
| cp -af $(EXECUTABLE) $(PACK_TO)$(base_libdir)/ |
| $(CROSS)strip $(PACK_TO)$(base_libdir)/$(EXECUTABLE) |
| .PHONY: clean |
| clean: |
| $(RM) $(OBJECTS) $(EXECUTABLE) |