X-Git-Url: http://git.asterisk.org/gitweb/?p=asterisk%2Fasterisk.git;a=blobdiff_plain;f=Makefile.rules;h=b7560a87cd2d44d4a7f4f9233130552182d3a830;hp=47a92a5a9eb6eed5a8a54816dd7f54405d0e42af;hb=fd06f299456989a03f0f61fe9289f501846e1d54;hpb=de59e8f6554b4987ce960a2a16939c0349973353 diff --git a/Makefile.rules b/Makefile.rules index 47a92a5..b7560a8 100644 --- a/Makefile.rules +++ b/Makefile.rules @@ -15,6 +15,8 @@ # Prefixing one or the other with @\# or @ or nothing makes the desired # behaviour. ECHO_PREFIX prefixes the comment, CMD_PREFIX prefixes the command. +-include $(ASTTOPDIR)/makeopts + ifeq ($(NOISY_BUILD),) ECHO_PREFIX=@ CMD_PREFIX=@ @@ -23,71 +25,57 @@ else CMD_PREFIX= endif -define ast_make_o_c -$(1): $(2) - $(ECHO_PREFIX) echo " [CC] $$< -> $$@" - $(CMD_PREFIX) $$(CC) -o $$@ -c $$< $$(CFLAGS) -endef - -define ast_make_oo_cc -$(1): $(2) - $(ECHO_PREFIX) echo " [CXX] $$< -> $$@" - $(CMD_PREFIX) $$(CXX) -o $$@ -c $$< $$(CFLAGS) -endef - -define ast_make_c_y -$(1): $(2) - $(ECHO_PREFIX) echo " [BISON] $$< -> $$@" - $(CMD_PREFIX) bison -o $$@ -d --name-prefix=ast_yy $$< -endef - -define ast_make_c_fl -$(1): $(2) - $(ECHO_PREFIX) echo " [FLEX] $$< -> $$@" - $(CMD_PREFIX) flex -o $$@ --full $$< -endef - -define ast_make_so_o -$(1): $(2) - $(ECHO_PREFIX) echo " [LD] $$^ -> $$@" - $(CMD_PREFIX) $$(CC) -o $$@ $$(LDFLAGS) $$(SOLINK) $$^ $$(LIBS) -endef - -define ast_make_so_oo -$(1): $(2) - $(ECHO_PREFIX) echo " [LDXX] $$^ -> $$@" - $(CMD_PREFIX) $$(CXX) -o $$@ $$(LDFLAGS) $$(SOLINK) $$^ $$(LIBS) -endef - -define ast_make_a_o -$(1): $(2) - $(ECHO_PREFIX) echo " [AR] $$^ -> $$@" - $(CMD_PREFIX) $$(AR) cr $$@ $$^ - $(CMD_PREFIX) $$(RANLIB) $$@ -endef +ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS)),) +# More GSM codec optimization +# Uncomment to enable MMXTM optimizations for x86 architecture CPU's +# which support MMX instructions. This should be newer pentiums, +# ppro's, etc, as well as the AMD K6 and K7. +#K6OPT=-DK6OPT -define ast_make_final -$(1): $(2) - $(ECHO_PREFIX) echo " [LD] $$^ -> $$@" - $(CMD_PREFIX) $$(CC) -o $$@ $$(LDFLAGS) $$^ $$(LIBS) -endef +OPTIMIZE?=-O6 +ASTCFLAGS+=$(OPTIMIZE) +endif -define ast_make_final_host -$(1): $(2) - $(ECHO_PREFIX) echo " [LD] $$^ -> $$@" - $(CMD_PREFIX) $$(HOST_CC) -o $$@ $$(CFLAGS) $$(LDFLAGS) $$^ $$(LIBS) -endef +%.o: %.c + $(ECHO_PREFIX) echo " [CC] $< -> $@" +ifeq ($(AST_DEVMODE),yes) + $(CMD_PREFIX) $(CC) -o $@ -c $< $(ASTCFLAGS) -MMD -MT $@ -MF .$(subst /,_,$@).d -MP +else + $(CMD_PREFIX) $(CC) -o $@ -c $< $(ASTCFLAGS) +endif -$(eval $(call ast_make_o_c,%.o,%.c)) +%.o: %.s + $(ECHO_PREFIX) echo " [AS] $< -> $@" +ifeq ($(AST_DEVMODE),yes) + $(CMD_PREFIX) $(CC) -o $@ -c $< $(ASTCFLAGS) -MMD -MT $@ -MF .$(subst /,_,$@).d -MP +else + $(CMD_PREFIX) $(CC) -o $@ -c $< $(ASTCFLAGS) +endif -$(eval $(call ast_make_oo_cc,%.oo,%.cc)) +%.oo: %.cc + $(ECHO_PREFIX) echo " [CXX] $< -> $@" +ifeq ($(AST_DEVMODE),yes) + $(CMD_PREFIX) $(CXX) -o $@ -c $< $(ASTCFLAGS) -MMD -MT $@ -MF .$(subst /,_,$@).d -MP +else + $(CMD_PREFIX) $(CXX) -o $@ -c $< $(ASTCFLAGS) +endif -$(eval $(call ast_make_so_o,%.so,%.o)) +%.c: %.y + $(ECHO_PREFIX) echo " [BISON] $< -> $@" + $(CMD_PREFIX) bison -o $@ -d --name-prefix=ast_yy $< -$(eval $(call ast_make_so_oo,%.so,%.oo)) +%.c: %.fl + $(ECHO_PREFIX) echo " [FLEX] $< -> $@" + $(CMD_PREFIX) flex -o $@ --full $< -$(eval $(call ast_make_final,%,%.o)) +%.so: %.o + $(ECHO_PREFIX) echo " [LD] $^ -> $@" + $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLDFLAGS) $(SOLINK) $^ $(LIBS) -$(eval $(call ast_make_c_y,%.c,%.y)) +%.so: %.oo + $(ECHO_PREFIX) echo " [LDXX] $^ -> $@" + $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLDFLAGS) $(SOLINK) $^ $(LIBS) -$(eval $(call ast_make_c_fl,%.c,%.fl)) +%: %.o + $(ECHO_PREFIX) echo " [LD] $^ -> $@" + $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLDFLAGS) $^ $(LIBS)