home · contact · privacy
Makefile now works on all .c files to generate its list of needed object files.
[plomrogue] / Makefile
index 72e91137ac2f1cb17724c083a76e35452fd864e7..bedecc0347db339e26f8f7a35a48db37bf3a1fc9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,9 +1,15 @@
-roguelike:
-       cc -Wall -g -o windows.o -c windows.c
-       cc -Wall -g -o draw_wins.o -c draw_wins.c
-       cc -Wall -g -o keybindings.o -c keybindings.c
-       cc -Wall -g -o roguelike.o -c roguelike.c
-       cc -Wall -g -o roguelike windows.o draw_wins.o keybindings.o roguelike.o -lncurses
+CC=cc
+CFLAGS=-Wall -g
+TARGET=roguelike
+SOURCES=$(shell find . -type f -name \*.c)
+OBJECTS=$(SOURCES:.c=.o)
 
+roguelike: $(OBJECTS)
+       $(CC) $(CFLAGS) -o roguelike $(OBJECTS) -lncurses
+
+%.o: %.c
+       $(CC) $(CFLAGS) -c $< -o $@
+
+.PHONY: clean
 clean:
-       rm *.o; rm roguelike
+       rm $(OBJECTS); rm roguelike