diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..bf7a854 --- /dev/null +++ b/Makefile @@ -0,0 +1,39 @@ +CC = clang +CFLAGS = -Wall +LDFLAGS = -lX11 +BUILDDIR = build +SOURCEDIR = src +OBJECTDIR = obj + +OUTPUT = switch-input + +SRCS = $(wildcard $(SOURCEDIR)/*.c) +OBJS = $(SRCS:.c=.o) +OBJ = $(OBJS:$(SOURCEDIR)/%=$(OBJECTDIR)/%) + +build: dir $(OBJ) + @echo LD $(OBJ) + @$(CC) $(CFLAGS) -o $(BUILDDIR)/$(OUTPUT) $(OBJ) $(LDFLAGS) + +debug: CFLAGS += -g -D _DEBUG +debug: build; + +dir: + @mkdir -p $(OBJECTDIR) + @mkdir -p $(BUILDDIR) + +$(OBJECTDIR)/%.o: $(SOURCEDIR)/%.c + @echo CC $< + @$(CC) $(CFLAGS) -c $< -o $@ + +.PHONY: clean +clean: + @echo RM $(OBJ) + @echo RM $(BUILDDIR)/$(OUTPUT) + @rm -df $(OBJ) + @rm -Rdf $(BUILDDIR) $(OBJECTDIR) + +all: clean build + +run: build + @$(BUILDDIR)/$(OUTPUT) |