summaryrefslogtreecommitdiff
path: root/new/GNUmakefile
diff options
context:
space:
mode:
Diffstat (limited to 'new/GNUmakefile')
-rw-r--r--new/GNUmakefile57
1 files changed, 57 insertions, 0 deletions
diff --git a/new/GNUmakefile b/new/GNUmakefile
new file mode 100644
index 0000000..2735929
--- /dev/null
+++ b/new/GNUmakefile
@@ -0,0 +1,57 @@
+# 15 april 2015
+
+OBJDIR = .obj
+
+# windows does this so :/
+ifeq ($(OS),Windows_NT)
+OS = windows
+endif
+
+ifndef OS
+UNAME = $(shell uname -s)
+ifeq ($(UNAME),Darwin)
+OS = darwin
+else
+OS = unix
+endif
+endif
+
+CFILES = \
+ stack.c \
+ test.c
+HFILES = \
+ ui.h \
+ uipriv.h \
+ ui_$(OS).h \
+ $(OS)/uipriv_$(OS).h
+
+xCFLAGS = \
+ -g \
+ -Wall -Wextra \
+ -Wno-unused-parameter \
+ --std=c99 \
+ $(CFLAGS)
+xLDFLAGS = \
+ -g \
+ $(LDFLAGS)
+
+include $(OS)/GNUmakeinc.mk
+xOSCFILES = $(OSCFILES:%=$(OS)/%)
+
+OFILES = $(CFILES:%.c=$(OBJDIR)/%.o) \
+ $(xOSCFILES:$(OS)/%.c=$(OBJDIR)/%_$(OS).o)
+
+$(OUT): $(OFILES)
+ $(CC) -o $(OUT) $(OFILES) $(xLDFLAGS)
+
+$(OBJDIR)/%.o: %.c $(OBJDIR) $(HFILES)
+ $(CC) -o $@ -c $< $(xCFLAGS)
+
+$(OBJDIR)/%_$(OS).o: $(OS)/%.c $(OBJDIR) $(HFILES)
+ $(CC) -o $@ -c $< $(xCFLAGS)
+
+$(OBJDIR):
+ mkdir -p $(OBJDIR)
+
+ui.h: ui.idl
+ idl2h < ui.h > ui.idl