|
|
Jump to this file's LXR Page |
|
|
File: [CENS] / emstar / fusd / external / make.include
(download)
Revision: 1.2, Sat Sep 29 18:27:16 2001 UTC (8 years, 1 month ago) by jelson Branch: MAIN CVS Tags: scale_radio_channel, rdd_alpha_version_1, pregeonet, nims-lab-Sep07-2004, nims-jr-Sep05-04, mote, lessgps_release, kiss_release, fusd_with_no_daemon, fusd_1-1_devel, fusd-1_10, fusd-1_04, fusd-1_03, fusd-1_02, copyright-07-11-03, bp_scale_radio_channel, audio_server, acoustic-05-18-06, ROUTING_EXPERIMENTAL, PRE_TOSNIC_FIX, PRE_NOMEGA_MOTENIC, PRE_MOTENIC_CLEANUP, PRE_CEILING_FIX, PRE_64BIT, MOTENIC_PRE_BUGFIX_20050415, LESSGPS_1_00, LAURA_CALIBRATION_EXPERIMENTS, KISS_1_0, HOSTMOTE_V_6_EXPERIMENTAL, HOSTMOTE_PROTOCOL_VERSION_7, HOSTMOTE_PROTOCOL_VERSION_6_WITH_HOSTMOAP, HOSTMOTE_PROTOCOL_VERSION_5_WITH_HOSTMOAP, HOSTMOTE_PROTOCOL_VERSION_5, HOSTMOTE_PROTOCOL_VERSION_4, HOSTMOTE_PROTOCOL_VERSION_3, HEAD, ESS_RELEASE_3_5, ESS_RELEASE_3_4, ESS_RELEASE_3_3, ESS_RELEASE_3_2, ESS_RELEASE_3_1, ESS_RELEASE_3_0, ESS_RELEASE_2_0, ESS_CONNECTIVITY, ESS_CENTROUTE_TESTING, ESS2-CMS-V1_5_pretest, ESS2-CMS-V1_4cMergeSympathy_2, ESS2-CMS-V1_4c, ESS2-CMS-V1_4b, ESS2-CMS-V1_4a, ESS2-CMS-V1_3, ESS2-CMS-V1_2, ESS2-CMS-V1_1, ESS2-CMS-V1_0, EMSTAR_RELEASE_2_5, EMSTAR_RELEASE_2_1_BRANCH, EMSTAR_RELEASE_2_1, EMSTAR_RELEASE_2_0_beta1, EMSTAR_RELEASE_2_0, EMSTAR_RELEASE_1_3_2, EMSTAR_RELEASE_1_3_1, EMSTAR_RELEASE_1_3, EMSTAR_RELEASE_1_2, EMSTAR_RELEASE_1_1, EMSTAR_RELEASE_1_0, EMSTAR_PRE_HTML, CYCLOPS_RELEASE_CANDIDATE_2_0, CYCLOPS_PRERELEASE_STABLE, CENTROUTE_EMSTAR_SOCKETS, BG_1_0, BANGLADESH_ARSENIC_1_2, BANGLADESH_ARSENIC_1_1, AMARSS_JR_DEPLOYMENT_6_05_07 Branch point for: EVENT_DEVEL Changes since 1.1: +1 -1 lines removed -DVEHICLE from external make.include |
# auto-dependency generation makefile #### Default values SRCEXTENSIONS := c C cpp CC := gcc CPP := g++ LD := ld AR := ar #### build object directory token CPU := $(shell uname -m) OS := $(shell uname -s | tr '[A-Z]' '[a-z]') DEFAULT_ARCH := $(CPU)-$(OS) ifeq ($(strip $(ARCH)),) ARCH := $(DEFAULT_ARCH) endif OBJTOKEN := obj.$(ARCH) # # Under most circumstances, paths are simple # ifeq ($(POSTROOT),..) MODPATH := . OBJDIR := $(OBJTOKEN) else MODPATH := $(POSTROOT)/$(MODULENAME) OBJDIR := $(MODPATH)/$(OBJTOKEN) endif # # Directories # MODLIBS := \ -L$(OBJDIR) \ $(foreach dir, $(MODULES), -L$(POSTROOT)/$(dir)/$(OBJTOKEN)) MODINCLUDES := \ -I$(MODPATH)/include \ $(foreach dir, $(MODULES), -I$(POSTROOT)/$(dir)/include) ALLTARGETS := \ $(foreach targ, $(TARGETS), $(OBJDIR)/$(targ)) VPATH := \ $(MODPATH)/include \ $(foreach dir, $(SRCDIRS), $(MODPATH)/$(dir)) \ $(foreach dir, $(MODULES), $(POSTROOT)/$(dir)/include) #### include paths LIBPATH := $(MODLIBS) INCLUDEPATH += -I. -Iinclude $(MODINCLUDES) KCFLAGS = -O2 \ -Wall -Werror -Wstrict-prototypes \ -fno-strict-aliasing -fomit-frame-pointer \ -DMODULE -D__KERNEL__ CFLAGS := -fPIC -Wall -O2 -g CCFLAGS := -Werror CPPFLAGS := -ftemplate-depth-30 #### Architecture deps KERNEL_INCLUDE := $(KERNEL_HOME)/include BINSTRIP := strip KCFLAGS += -I$(KERNEL_INCLUDE) $(INCLUDEPATH) CFLAGS += $(INCLUDEPATH) $(LIBPATH) CCFLAGS += $(CFLAGS) CPPFLAGS += $(CFLAGS) # # targets # default: $(ALLTARGETS) #################################################### # # Dependency generation # # Get list of all source files SOURCES := \ $(notdir $(wildcard \ $(foreach dir, $(SRCDIRS), \ $(foreach ext, $(SRCEXTENSIONS), $(dir)/*.$(ext))))) # Convert all .c, .cpp, .C to .d SRC_AND_DEPENDS := $(foreach ext, $(SRCEXTENSIONS),\ $(patsubst %.$(ext),%.d,$(SOURCES))) DEPENDS := $(foreach file, $(filter %.d,$(SRC_AND_DEPENDS)), $(OBJDIR)/$(file)) BASE = $(subst /,\/,$*) ODIR = $(subst /,\/,$(OBJDIR)) # This magic is from the 'make' manual (with mods by jelson) $(OBJDIR)/%.d: %.c @mkdir -p $(OBJDIR) set -e; $(CC) -MM -I$(KERNEL_INCLUDE) $(CFLAGS) $< \ | sed 's/\($(BASE)\)\.o[ :]*/$(ODIR)\/$(BASE).o $(ODIR)\/$(BASE).d : /g' > $@; \ [ -s $@ ] || rm -f $@ $(OBJDIR)/%.d: %.C @mkdir -p $(OBJDIR) set -e; $(CC) -MM $(CPPFLAGS) $< \ | sed 's/\($(BASE)\)\.o[ :]*/$(ODIR)\/$(BASE).o $(ODIR)\/$(BASE).d : /g' > $@; \ [ -s $@ ] || rm -f $@ $(OBJDIR)/%.d: %.cpp @mkdir -p $(OBJDIR) set -e; $(CC) -MM $(CPPFLAGS) $< \ | sed 's/\($(BASE)\)\.o[ :]*/$(ODIR)\/$(BASE).o $(ODIR)\/$(BASE).d : /g' > $@; \ [ -s $@ ] || rm -f $@ # # Rules # $(OBJDIR)/%.o: %.cpp $(CPP) $(CPPFLAGS) $< -c -o $@ $(OBJDIR)/%.o: %.C $(CPP) $(CPPFLAGS) $< -c -o $@ $(OBJDIR)/%.o: %.c $(CC) $(CCFLAGS) $< -c -o $@ clean: rm -f $(ALLTARGETS) $(OBJDIR)/*.[oa] $(OBJDIR)/*.so.* $(DEPENDS) include $(DEPENDS)
| CENS CVS Mailing List |
Powered by ViewCVS 0.9.2 |