📄 makefile
字号:
############################################################################### Microwindows template Makefile# Copyright (c) 2000 Martin Jolicoeur, Greg Haerr# Portions Copyright (c) 2002 by Koninklijke Philips Electronics N.V.##############################################################################ifndef MW_DIR_SRCMW_DIR_SRC := $(CURDIR)/../..endifMW_DIR_RELATIVE := demos/nanox/include $(MW_DIR_SRC)/Path.rulesinclude $(CONFIG)######################## Additional Flags section ############################# Directories list for header filesINCLUDEDIRS +=# Defines for preprocessorDEFINES +=# Compilation flags for C files OTHER than include directoriesCFLAGS +=# Preprocessor flags OTHER than definesCPPFLAGS +=# Linking flagsLDFLAGS +=LIBM = -lm############################# targets section ################################ifeq ($(NANOX), Y)ifeq ($(NANOXDEMO), Y)# If you want to create a library with the objects files, define the name hereLIBNAME =# List of binaries to compileifeq ($(ARCH), ECOS)TARGETS = $(MW_DIR_BIN)/landmine.o $(MW_DIR_BIN)/ntetris.o $(MW_DIR_BIN)/world.oelseTARGETS = \ $(MW_DIR_BIN)/demo \ $(MW_DIR_BIN)/move \ $(MW_DIR_BIN)/landmine \ $(MW_DIR_BIN)/world \ $(MW_DIR_BIN)/nxclock \ $(MW_DIR_BIN)/nxlsclients \ $(MW_DIR_BIN)/nxev \ $(MW_DIR_BIN)/npanel \ $(MW_DIR_BIN)/nterm \ $(MW_DIR_BIN)/demo2 \ $(MW_DIR_BIN)/demo5 \ $(MW_DIR_BIN)/demo6 \ $(MW_DIR_BIN)/t1demo \ $(MW_DIR_BIN)/ftdemo \ $(MW_DIR_BIN)/logfont \ $(MW_DIR_BIN)/ntetris \ $(MW_DIR_BIN)/getselection \ $(MW_DIR_BIN)/setselection \ $(MW_DIR_BIN)/dashdemo \ $(MW_DIR_BIN)/pcfdemo \ $(MW_DIR_BIN)/fontdemo \ $(MW_DIR_BIN)/setportrait \ $(MW_DIR_BIN)/arcdemo \ $(MW_DIR_BIN)/polydemo \ $(MW_DIR_BIN)/snap_ppm \ $(MW_DIR_BIN)/bmpdemo \ $(MW_DIR_BIN)/rgndemo \ $(MW_DIR_BIN)/convpbm \ $(MW_DIR_BIN)/nsaver \ $(MW_DIR_BIN)/nxcal \ $(MW_DIR_BIN)/grabdemoifneq ($(ARCH),CYGWIN)TARGETS += \ $(MW_DIR_BIN)/nxtermendif# Require MW_FEATURE_IMAGES support:TARGETS += \ $(MW_DIR_BIN)/nxview \ $(MW_DIR_BIN)/slider \ $(MW_DIR_BIN)/tsdemo \ $(MW_DIR_BIN)/tux# Require MW_FEATURE_TIMERS support:TARGETS += \ $(MW_DIR_BIN)/nxmag \ $(MW_DIR_BIN)/nxeyes# Require both MW_FEATURE_IMAGES and MW_FEATURE_TIMERS support:TARGETS += \ $(MW_DIR_BIN)/launcher \ifeq ($(HAVE_JPEG_SUPPORT), Y)ifeq ($(FRAMEBUFFER), Y)ifneq ($(LINK_APP_INTO_SERVER), Y)TARGETS += $(MW_DIR_BIN)/snap_jpgendifendifendifendifall: default $(TARGETS) $(CP) \ $(MW_DIR_SRC)/demos/nanox/world.map \ $(MW_DIR_SRC)/demos/nanox/launcher.cnf \ $(MW_DIR_SRC)/demos/nanox/tux.gif \ $(MW_DIR_SRC)/demos/nanox/slidebmp.bmp \ $(MW_DIR_SRC)/demos/nanox/uponface.ppm \ $(MW_DIR_SRC)/demos/nanox/mwlogo.ppm \ $(MW_DIR_SRC)/demos/nanox/icons/*.ppm \ $(MW_DIR_SRC)/demos/nanox/icons/*.pgm \ $(MW_DIR_SRC)/demos/nanox/ftdemo.txt\ $(MW_DIR_BIN)# $(MW_DIR_SRC)/demos/nanox/transtest.gif# $(MW_DIR_SRC)/demos/nanox/alphatest.pngendifendif######################### Makefile.rules section #############################include $(MW_DIR_SRC)/Makefile.rulesifeq ($(SHAREDLIBS), Y)LD_NANOXCLIENTLIBS = $(CCNANOXCLIENTLIBS)elseLD_NANOXCLIENTLIBS = $(NANOXCLIENTLIBS)endif######################## Tools targets section ################################ These demos need -lmNANOX_DEMOS_WITH_LIBM_LINK := \ $(MW_DIR_BIN)/nxeyes \ $(MW_DIR_BIN)/grabdemo \ $(MW_DIR_BIN)/nsaver# These demos use a hardcoded link line.NANOX_DEMOS_WITH_NONSTANDARD_LINK := \ $(NANOX_DEMOS_WITH_LIBM_LINK) \ $(MW_DIR_BIN)/snap_jpg \ $(MW_DIR_BIN)/convpbm# All other demos use a standard link line, that just# links against the Nano-X client libraries.NANOX_DEMOS_WITH_STANDARD_LINK := \ $(filter-out $(NANOX_DEMOS_WITH_NONSTANDARD_LINK),$(TARGETS))# Standard link rule used for most demos.$(NANOX_DEMOS_WITH_STANDARD_LINK): $(MW_DIR_BIN)/%: $(MW_DIR_OBJ)/demos/nanox/%.o $(NANOXCLIENTLIBS) $(CONFIG) @echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..." $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS)# Link rule used for demos with libm.$(NANOX_DEMOS_WITH_LIBM_LINK): $(MW_DIR_BIN)/%: $(MW_DIR_OBJ)/demos/nanox/%.o $(NANOXCLIENTLIBS) $(CONFIG) @echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..." $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS) $(LIBM)$(MW_DIR_BIN)/snap_jpg: $(MW_DIR_OBJ)/demos/nanox/snap_jpg.o $(NANOXCLIENTLIBS) $(CONFIG) @echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..." $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ $(LD_NANOXCLIENTLIBS) $(LIBJPEG)$(MW_DIR_BIN)/convpbm: $(MW_DIR_OBJ)/demos/nanox/convpbm.o @echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..." $(CC) $(CFLAGS) $(LDFLAGS) $< -o $@ifeq ($(ARCH), ECOS)# Special build rules for linked in applications$(MW_DIR_BIN)/landmine.o: $(MW_DIR_OBJ)/demos/nanox/landmine.o @echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..."# $(CC) $(CFLAGS) $(LDFLAGS) $< -Wl,-r -Wl,--retain-symbols-file -Wl,landmine.syms -Wl,--defsym -Wl,landmine_main=main -o XX.o $(CC) $(CFLAGS) $(LDFLAGS) $< -Wl,-r -Wl,--defsym -Wl,landmine_main=main -o XX.o $(NM) XX.o | grep -v _main | grep ' T' | awk -f $(MW_DIR_SRC)/ecos/retain.awk | xargs $(OBJCOPY) XX.o $@ rm -f XX.o$(MW_DIR_BIN)/ntetris.o: $(MW_DIR_OBJ)/demos/nanox/ntetris.o @echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..." $(CC) $(CFLAGS) $(LDFLAGS) $< -Wl,-r -Wl,--defsym -Wl,ntetris_main=main -o XX.o $(NM) XX.o | grep -v _main | grep ' T' | awk -f $(MW_DIR_SRC)/ecos/retain.awk | xargs $(OBJCOPY) XX.o $@ rm -f XX.o$(MW_DIR_BIN)/world.o: $(MW_DIR_OBJ)/demos/nanox/world.o @echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..." $(CC) $(CFLAGS) $(LDFLAGS) $< -Wl,-r -Wl,--defsym -Wl,world_main=main -o XX.o $(NM) XX.o | grep -v _main | grep ' T' | awk -f $(MW_DIR_SRC)/ecos/retain.awk | xargs $(OBJCOPY) XX.o $@ rm -f XX.oendif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -