]> git.bzium.org/ - embe/choinka.git/blobdiff - Makefile
Uporządkowanie Makefile, dodanie regułek „clean” i „install”.
[embe/choinka.git] / Makefile
index 8207726a8075efe7fc8f585ae85ae2d97d060367..c9f6b9b987f2aa94c3eddb00486c740e825c0bba 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,40 @@
 CC := gcc
 CC := gcc
-CFLAGS := -O2 -Wextra -Wall -std=gnu99
-LDLIBS := -lncurses
+CPPFLAGS :=
+CFLAGS := -O2 -Wextra -Wall
+LDFLAGS :=
+LDLIBS :=
+RM := rm
 
 
-all: choinka
+override CFLAGS += -std=gnu99
+override LDLIBS += -lncurses
+
+INSTALL := install
+
+DESTDIR :=
+PREFIX := /usr
+BINDIR = $(PREFIX)/bin
+
+EXE := choinka
+
+CSOURCES := $(wildcard *.c)
+COBJECTS := $(CSOURCES:.c=.o)
+SOURCES := $(sort $(CSOURCES))
+OBJECTS := $(sort $(COBJECTS))
+
+.PHONY: all
+all: $(EXE)
+
+%.o: %.c
+       $(CC) -c $(CPPFLAGS) $(CFLAGS) $^ -o $@
+
+$(EXE): $(OBJECTS)
+       $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@
+
+.PHONY: clean
+clean:
+       $(RM) -f $(EXE) *.o *~ *.bak *.orig *.rej
+
+.PHONY: install
+install: $(EXE)
+       $(INSTALL) -d $(DESTDIR)$(BINDIR)
+       $(INSTALL) -c $(EXE) $(DESTDIR)$(BINDIR)