📄 makefile
字号:
## $Id: Makefile,v 1.6 2005/04/15 08:12:39 wilson Exp $## Copyright (C) 2000 EmSoft Limited (www.emsoftltd.com)## This software may be used and distributed according to the terms# of the GNU General Public License, incorporated herein by reference.#BIN_NAME= simplecalcTARGET = bin${ARCH_SUFFIX}/${BIN_NAME}OBJS = src/simplecalc.o######################################### Name and path########################################EMLINUX_TOP = ../../..MICROWIN_LIB_DIR = ${EMLINUX_TOP}/microwin/lib${ARCH_SUFFIX}GLIB_LIB_DIR = ${EMLINUX_TOP}/glib-1.2.7/lib${ARCH_SUFFIX}GLIB_CONFIG = ${EMLINUX_TOP}/glib-1.2.7/bin$(ARCH_SUFFIX)/glib-configGDK_LIB_DIR = ${EMLINUX_TOP}/gtk+-1.2.7/lib${ARCH_SUFFIX}GDK_CONFIG = ${EMLINUX_TOP}/gtk+-1.2.7/bin$(ARCH_SUFFIX)/gdk-configGDKPIXBUF_INC_DIR = ${EMLINUX_TOP}/EmGdkPixbuf/includeGDKPIXBUF_LIB_DIR = ${EMLINUX_TOP}/EmGdkPixbuf/lib${ARCH_SUFFIX}EMTK_INC_DIR = ${EMLINUX_TOP}/EmTK/includeEMTK_LIB_DIR = ${EMLINUX_TOP}/EmTK/lib${ARCH_SUFFIX}ZLIB_INC_DIR = ${EMLINUX_TOP}/zlib/includeZLIB_LIB_DIR = ${EMLINUX_TOP}/zlib/lib${ARCH_SUFFIX}JPEG_LIB_DIR = ${EMLINUX_TOP}/jpeglib/install$(ARCH_SUFFIX)/libPNG_LIB_DIR = ${GDKPIXBUF_LIB_DIR}######################################### Default build options########################################OPTIONS = -D_GNU_SOURCE -DTEXT_ONLY_BUTTONLIBS =ENABLE_I18N = YLAUNCHER_SUPPORT = YFONT_TABLE = YBUILD_SHLIB = YUSE_GDKPIXBUF = Y######################################### Build targets########################################ifeq ($(findstring x86,${MAKECMDGOALS}),x86)ARCH_SUFFIX = -x86CC = gccAR = arCFLAGS = -g -Wall -DX86endififeq ($(findstring arm7,${MAKECMDGOALS}),arm7)ARCH_SUFFIX = -arm7CC = arm-linux-gccAR = arm-linux-arCFLAGS = -O2 -Wall -DARM7endififeq ($(findstring uclinux,${MAKECMDGOALS}),uclinux)UCLINUX_TOP = ${EMLINUX_TOP}/../uClinux-distinclude ${UCLINUX_TOP}/user/include/Makefile.includeARCH_SUFFIX = -arm7CC = ${UCCC}AR = ${UCAR}FLTHDR = arm-elf-flthdrCFLAGS = -Wall -DARM7 ${UCDEFINES} ${UCCFLAGS}JPEG_LIB_DIR = ${UCLINUX_TOP}/lib/libjpegPNG_LIB_DIR = ${UCLINUX_TOP}/lib/libpngZLIB_LIB_DIR = ${UCLINUX_TOP}/lib/zlibLIBM_LIB_DIR = ${UCLINUX_TOP}/uClibc/libmBUILD_SHLIB = NENABLE_I18N = NOPTIONS += -DWIDTH=16ifndef compressedcompressed = YendifendifCFLAGS += ${OPTIONS}######################################### Other configurations########################################ifndef compressedcompressed = Nendififeq ($(ENABLE_I18N),Y)CFLAGS += -DENABLE_I18Nendififeq ($(FONT_TABLE), Y)CFLAGS += -DFONT_TABLEendif# Launcher desk-message supportifeq ($(LAUNCHER_SUPPORT), Y)CFLAGS += -I../deskmsg/include -DLAUNCHER_SUPPORTifeq ($(BUILD_SHLIB),Y)LFLAGS += -L../deskmsg/lib${ARCH_SUFFIX} -ldeskmsgelseLDLIBS += ../deskmsg/lib${ARCH_SUFFIX}/libdeskmsg.aendifendif# Other librariesCFLAGS += -I../common/includeifeq (${BUILD_SHLIB},Y)LFLAGS += -L../common/lib${ARCH_SUFFIX} -lcommonelseLDLIBS += ../common/lib${ARCH_SUFFIX}/libcommon.aendif# EmTK Look-And-Feel (requires EmTK)ifeq ($(BUILD_SHLIB),Y)LFLAGS += -L${EMTK_LIB_DIR} -lemtklafelseLDLIBS += ${EMTK_LIB_DIR}/libemtklaf.aendif# EmTK (requires EmGdkPixbuf)CFLAGS += -I${EMTK_INC_DIR}ifeq ($(BUILD_SHLIB),Y)LFLAGS += -L${EMTK_LIB_DIR} -lemtkelseLDLIBS += ${EMTK_LIB_DIR}/libemtk.aendif# EmGdkPixbuf (requires Gdk and Glib)ifeq ($(USE_GDKPIXBUF),Y)CFLAGS += -DUSE_GDKPIXBUF=1CFLAGS += -I${GDKPIXBUF_INC_DIR}CFLAGS += -I${ZLIB_INC_DIR}ifeq (${BUILD_SHLIB},Y)LFLAGS += -L${GDKPIXBUF_LIB_DIR} -lgdk_pixbufLFLAGS += -L${JPEG_LIB_DIR} -ljpegLFLAGS += -lpngLFLAGS += -L${ZLIB_LIB_DIR} -lzelseLDLIBS += ${GDKPIXBUF_LIB_DIR}/libgdk_pixbuf.aLDLIBS += ${JPEG_LIB_DIR}/libjpeg.aLDLIBS += ${PNG_LIB_DIR}/libpng.aLDLIBS += ${ZLIB_LIB_DIR}/libz.aendif # build shared libraryendif # use gdk-pixbuf# Gdk, Glib and microwindowsGLIB_CFLAGS = `${GLIB_CONFIG} --cflags`GLIB_LFLAGS = `${GLIB_CONFIG} --libs` CFLAGS += `${GDK_CONFIG} --cflags`CFLAGS += ${GLIB_CFLAGS}ifeq ($(BUILD_SHLIB),Y)LFLAGS += `${GDK_CONFIG} --libs` -lpthreadLFLAGS += ${GLIB_LFLAGS}elseLDLIBS += ${GDK_LIB_DIR}/libgdk.aLDLIBS += ${GLIB_LIB_DIR}/libglib.a ${GLIB_LIB_DIR}/libgmodule.a ${GLIB_LIB_DIR}/libgthread.aLDLIBS += ${MICROWIN_LIB_DIR}/libnanogtk.a ${MICROWIN_LIB_DIR}/libnano-X.aendif# LibCifeq (${BUILD_SHLIB},Y)LFLAGS += -lmelseifeq ($(findstring uclinux,${MAKECMDGOALS}),uclinux)LDLIBS += ${UCLDFLAGS} ${UCLDLIBS} ${LIBM_LIB_DIR}/libm.aendifendif######################################### Build targets########################################help: @echo; \ echo "Specify the following targets to make:"; \ echo " x86 -- to compile x86 X11 version binary"; \ echo " arm7 -- to compile arm version binary"; \ echo " uclinux -- to compile uClinux ARM version library"; \ echo " clean -- to remove objects and binaries"; \ echo " distclean -- to remove objects, binaries and library"; \ echo ""; \ echo "[compressed=Y] flat file binary (uclinux only): Y (default), N"; \ echox86 arm7 uclinux: ${TARGET}library: ${SHTARGET}bin${ARCH_SUFFIX}/${BIN_NAME}: ${OBJS} @echo "Linking $@..." @install -d ${dir $@} @${CC} -o $@ ${CFLAGS} ${LFLAGS} $+ ${LDLIBS}ifeq (${compressed},Y) @${FLTHDR} -z $@endiflib${ARCH_SUFFIX}/${BIN_NAME}.a: ${OBJS} @echo "Archiving $@..." @install -d ${dir $@} @${AR} cruv $@ $+${OBJS}: %.o: %.c @echo "Compiling $<..." @$(CC) ${CFLAGS} -c $< -o $@l10n: $(MAKE) -C pol10n-install: $(MAKE) -C po installclean: rm -f core ${OBJS}distclean: clean rm -f bin-*/${BIN_NAME} lib-*/${BIN_NAME}.a\ bin-*/${BIN_NAME}.gdb find -name '*~' -exec rm -f {} \; @rmdir --ignore-fail-on-non-empty $(wildcard bin-*/ lib-*/) src
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -