Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

the BEST Makefile !!

Name: Anonymous 2011-02-21 13:45

presenting: the BEST Makefile !!


CC     = gcc
LFLAGS = -g
CFLAGS = -g -Wall

SOURCES := $(shell ls *.c)
OBJECTS = $(SOURCES:.c=.o)

all:    $(OBJECTS)
    $(CC) $(LFLAGS) $(OBJECTS)

depends: $(shell ls *.c *.h)
    $(CC) *.c -MM > depends

clean:
    rm -f a.out depends $(OBJECTS)

count:
    wc *.c *.h Makefile

-include depends

Name: Anonymous 2011-02-21 18:26

>>1
Lame. My makefiles're much more hardcore and look like this:

_push = $(eval _save$1 := $(MAKEFILE_LIST))
_pop = $(eval MAKEFILE_LIST := $(_save$1))
_INCLUDE = $(call _push,$1)$(eval include $(_ROOT)/$1/Makefile)$(call _pop,$1)
DEPENDS_ON = $(call _INCLUDE,$1)
DEPENDS_ON_NO_BUILD = $(eval _NO_RULES := T)$(call _INCLUDE,$1)$(eval _NO_RULES :=)
 
.PHONY: all
all:
 
_MAKEFILES := $(filter %/Makefile,$(MAKEFILE_LIST))
_INCLUDED_FROM := $(patsubst $(_ROOT)/%,%,$(if $(_MAKEFILES),$(patsubst %/Makefile,%,$(word $(words $(_MAKEFILES)),$(_MAKEFILES)))))
ifeq ($(_INCLUDED_FROM),)
_MODULE := $(patsubst $(_ROOT)/%,%,$(CURDIR))
else
_MODULE := $(_INCLUDED_FROM)
endif
_MODULE_PATH := $(_ROOT)/$(_MODULE)
_MODULE_NAME := $(subst /,_,$(_MODULE))
$(_MODULE_NAME)_OUTPUT := $(_OUTTOP)/$(_MODULE)
 
_OBJEXT := .o
_LIBEXT := .a
_EXEEXT :=

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List