Преглед изворни кода

fixed up the makefile a little

- allow for user specified compiler
- allow for users CXXFLAGS + LDFLAGS
- removed unnecessary implicit .o rule
- changed CC to CXX (c++ instead of c)

Signed-off-by: Steven Honeyman <stevenhoneyman@users.noreply.github.com>
Steven Honeyman пре 9 година
родитељ
комит
86ddd9becd
1 измењених фајлова са 14 додато и 13 уклоњено
  1. 14
    13
      makefile

+ 14
- 13
makefile Прегледај датотеку

@@ -1,22 +1,23 @@
1
-CC=g++
2
-CCFLAGS=-O2 -g
3
-LDFLAGS=-lX11 -lXext -lrt
4
-SOURCES=main.cpp x.cpp options.cpp rectangle.cpp
5
-OBJECTS=$(SOURCES:.cpp=.o)
6
-EXECUTABLE=slop
7
-BINDIR="/usr/bin"
1
+CXX ?= g++
2
+CXXFLAGS ?= -O2 -g
3
+LDFLAGS += -lX11 -lXext -lrt
4
+SOURCES = main.cpp x.cpp options.cpp rectangle.cpp
5
+OBJECTS = $(SOURCES:.cpp=.o)
6
+EXECUTABLE = slop
7
+BINDIR = "/usr/bin"
8 8
 
9
-all: $(SOURCES) $(EXECUTABLE)
9
+all: $(EXECUTABLE)
10 10
 
11 11
 $(EXECUTABLE): $(OBJECTS)
12
-	$(CC) $(OBJECTS) -o $@ $(LDFLAGS)
13
-
14
-$(OBJECTS): %.o: %.cpp
15
-	$(CC) $(CCFLAGS) -o $@ -c $<
12
+	$(CXX) $(OBJECTS) -o $@ $(LDFLAGS)
16 13
 
17 14
 clean:
18
-	rm -rf $(OBJECTS) $(EXECUTABLE)
15
+	$(RM) $(OBJECTS)
16
+
17
+dist-clean: clean
18
+	$(RM) $(EXECUTABLE)
19 19
 
20 20
 install: all
21 21
 	mkdir -p $(DESTDIR)$(BINDIR)
22 22
 	cp $(CURDIR)/$(EXECUTABLE) $(DESTDIR)$(BINDIR)
23
+