Commit 9529c1b
main.c โ src/main.c
@@ -1,7 +1,7 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include "inc/reverse.h"
+#include "reverse.h"
typedef int (*Test)();
reverse.c โ src/reverse.c
File renamed without changes
inc/reverse.h โ src/reverse.h
File renamed without changes
makefile
@@ -1,14 +1,20 @@
-PROGRAM = practice
-C_FILES := $(wildcard *.c)
-OBJS := $(patsubst %.c, %.o, $(C_FILES))
-CC = cc
-CFLAGS = -Wall -pedantic
-LDFLAGS =
+SRCDIR := src/
+OBJDIR := obj/
+BINDIR := bin/
-all: $(PROGRAM)
+PROGRAM := practice
+EXE := $(BINDIR)$(PROGRAM)
-$(PROGRAM): .depend $(OBJS)
- $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(PROGRAM)
+C_FILES := $(wildcard *.c) $(wildcard */*.c)
+OBJS := $(patsubst src/%.c, obj/%.o, $(C_FILES))
+CC := cc
+CFLAGS := -Wall -pedantic
+LDFLAGS :=
+
+all: init $(EXE)
+
+$(EXE): .depend $(OBJS)
+ $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(EXE)
depend: .depend
@@ -20,16 +26,24 @@ depend: .depend
-include .depend
-%.o: %.c
+$(OBJDIR)%.o: $(SRCDIR)%.c
$(CC) $(CFLAGS) -c $< -o $@
-%: %.c
+$(SRCDIR)/%: %.c
$(CC) $(CFLAGS) -o $@ $<
clean:
- rm -f *.o *.out .depend
+ @echo 'cleaning...'
+ @rm -fr *.o *.out .depend $(BINDIR) $(OBJDIR)
+
+init: clean
+ @echo 'initializing...'
+ @mkdir bin obj
+
+run: all
+ $(EXE)
-.PHONY: clean depend
+.PHONY: clean init depend
list:
@echo $(C_FILES)