Skip to content

Commit

Permalink
Make CFLAGS overridable from make command line.
Browse files Browse the repository at this point in the history
This patch renames COPTS to CFLAGS, because it's COPTS that was user
overridable.  Also, -Wall is moved there because it's optional.  What
was CFLAGS is now ALL_CFLAGS, which users should not override.

Defines are added to DEFINES.  Since ALL_CFLAGS is recursively expanded,
it uses the final value of DEFINES.

Implicit rules are made explicit since the implicit rules use CFLAGS
rather than ALL_CFLAGS.  I believe that serious projects should not rely
on implicit rules anyway.  Percent rules are used because they are used
already and because they don't need the .SUFFIXES target.

[jc: in addition to updating the patch for 0.99.4, I fixed up a
glitch in Pavel's original patch which compiled sha1.o out of
mozilla-sha1/sha1.c, where it should have left the resulting
object file in mozilla-sha1 directory for later "ar".]

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Pavel Roskin authored and Junio C Hamano committed Aug 12, 2005
1 parent 5a571cd commit b05701c
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 25 deletions.
46 changes: 25 additions & 21 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,24 +32,24 @@

# DEFINES += -DUSE_STDEV

GIT_VERSION=0.99.4
GIT_VERSION = 0.99.4

COPTS?=-g -O2
CFLAGS+=$(COPTS) -Wall $(DEFINES)
CFLAGS = -g -O2 -Wall
ALL_CFLAGS = $(CFLAGS) $(DEFINES)

prefix=$(HOME)
bindir=$(prefix)/bin
template_dir=$(prefix)/share/git-core/templates/
prefix = $(HOME)
bindir = $(prefix)/bin
template_dir = $(prefix)/share/git-core/templates/
# dest=

CC?=gcc
AR?=ar
INSTALL?=install
RPMBUILD?=rpmbuild
CC = gcc
AR = ar
INSTALL = install
RPMBUILD = rpmbuild

# sparse is architecture-neutral, which means that we need to tell it
# explicitly what architecture to check for. Fix this up for yours..
SPARSE_FLAGS?=-D__BIG_ENDIAN__ -D__powerpc__
SPARSE_FLAGS = -D__BIG_ENDIAN__ -D__powerpc__



Expand Down Expand Up @@ -125,7 +125,7 @@ ifndef NO_OPENSSL
LIB_OBJS += epoch.o
OPENSSL_LIBSSL=-lssl
else
CFLAGS += '-DNO_OPENSSL'
DEFINES += '-DNO_OPENSSL'
MOZILLA_SHA1=1
OPENSSL_LIBSSL=
endif
Expand All @@ -146,7 +146,7 @@ endif
endif
endif

CFLAGS += '-DSHA1_HEADER=$(SHA1_HEADER)'
DEFINES += '-DSHA1_HEADER=$(SHA1_HEADER)'



Expand All @@ -156,12 +156,15 @@ all: $(PROG)

all:
$(MAKE) -C templates
$(MAKE) -C tools

%.o: %.c
$(CC) -o $*.o -c $(ALL_CFLAGS) $<
%.o: %.S
$(CC) -o $*.o -c $(ALL_CFLAGS) $<

.SECONDARY: %.o
.c.o:
$(CC) $(CFLAGS) -o $*.o -c $*.c
git-%: %.o $(LIB_FILE)
$(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
$(CC) $(ALL_CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)

git-http-pull: pull.o
git-local-pull: pull.o
Expand All @@ -172,7 +175,8 @@ git-http-pull: LIBS += -lcurl
git-rev-list: LIBS += $(OPENSSL_LIBSSL)

init-db.o: init-db.c
$(CC) -c $(CFLAGS) -DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir)"' $*.c
$(CC) -c $(ALL_CFLAGS) \
-DDEFAULT_GIT_TEMPLATE_DIR='"$(template_dir)"' $*.c

$(LIB_OBJS): $(LIB_H)
$(patsubst git-%,%.o,$(PROG)): $(LIB_H)
Expand All @@ -192,13 +196,13 @@ test: all
$(MAKE) -C t/ all

test-date: test-date.c date.o
$(CC) $(CFLAGS) -o $@ test-date.c date.o
$(CC) $(ALL_CFLAGS) -o $@ test-date.c date.o

test-delta: test-delta.c diff-delta.o patch-delta.o
$(CC) $(CFLAGS) -o $@ $^
$(CC) $(ALL_CFLAGS) -o $@ $^

check:
for i in *.c; do sparse $(CFLAGS) $(SPARSE_FLAGS) $$i; done
for i in *.c; do sparse $(ALL_CFLAGS) $(SPARSE_FLAGS) $$i; done



Expand Down
7 changes: 3 additions & 4 deletions tools/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@
# Make Linus git-tools
#
CC=gcc
COPTS=-O2
CFLAGS=-g $(COPTS) -Wall
CFLAGS = -O2 -g -Wall
ALL_CFLAGS = $(CFLAGS)
INSTALL=install
HOME=$(shell echo $$HOME)
prefix=$(HOME)
bindir=$(prefix)/bin
# dest=
Expand All @@ -14,7 +13,7 @@ PROGRAMS=git-mailsplit git-mailinfo
SCRIPTS=git-applymbox git-applypatch

git-%: %.c
$(CC) $(CFLAGS) -o $@ $(filter %.c,$^)
$(CC) $(ALL_CFLAGS) -o $@ $(filter %.c,$^)

all: $(PROGRAMS)

Expand Down

0 comments on commit b05701c

Please sign in to comment.