-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
77 lines (61 loc) · 1.94 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# Ensure $JOT_ROOT matches the location of this Makefile
ifeq ($(ARCH),)
default %:
@echo Set ARCH to be one of WIN32, linux, or ...
else
ifeq ($(JOT_ROOT),)
default %:
@echo Set JOT_ROOT to root of jot hierarchy
endif
# General targets
.PHONY : FORCE default $(PROGS)
default: jot
all@% : FORCE
@echo $(JOT_PREPEND) Making all in $*
$(JOT_IGN)$(MAKE) -C $* all $(JOT_EXTRA_ALL_CMND) $(JOT_EXIT)
clean@% : FORCE
@echo $(JOT_PREPEND) Making clean in $*
$(JOT_IGN)$(MAKE) -C $* clean $(JOT_EXIT)
depend@% : FORCE
@echo $(JOT_PREPEND) Making dependencies in $*
$(JOT_IGN)$(MAKE) -C $* depend $(JOT_EXIT)
# Setup program directories
DIRS_jot = dev disp dlhandler ffs geom gest glew glui glut_jot glut_winsys \
gtex gui base_jotapp manip map3d mesh mlib net npr pattern std stroke \
tess widgets wnpr libpng zlib triangle sps proxy_pattern
DIRS_smview = dev disp dlhandler geom gest glew glui glut_jot glut_winsys \
gtex base_jotapp manip mesh mlib net std widgets libpng zlib
# Setup program targets
PROGS = $(NORMPROGS) $(SPECPROGS)
# Programs compiled in jot/src
NORMPROGS = jot smview
# Programs not compiled in jot/src
SPECPROGS =
CLEAN_PREFIX = clean-
DEPEND_PREFIX = depend-
CLEAN_PROGS = $(foreach PROG,$(PROGS),$(CLEAN_PREFIX)$(PROG))
DEPEND_PROGS = $(foreach PROG,$(PROGS),$(DEPEND_PREFIX)$(PROG))
depend: depend-jot
$(NORMPROGS) :
$(JOT_IGN)$(MAKE) $(addprefix all@, $(DIRS_$@)) $@@src
$(SPECPROGS): FORCE
$(JOT_IGN)$(MAKE) $(addprefix all@, $(DIRS_$@))
$(CLEAN_PROGS) :
$(JOT_IGN)$(MAKE) $(addprefix clean@, $(DIRS_$(patsubst clean-%,%, $@)) src)
$(DEPEND_PROGS) :
$(JOT_IGN)$(MAKE) $(addprefix depend@,$(DIRS_$(patsubst depend-%,%, $@)) src)
%@src:
@echo $(JOT_PREPEND) Making $* in src
$(JOT_IGN)$(MAKE) -C src $* $(JOT_EXIT)
# Variables
ifeq ($(JOT_EXIT),)
JOT_EXIT = || exit
endif
ifeq ($(JOT_PREPEND),)
JOT_PREPEND = ------------
endif
ifeq ($(JOT_IGN),)
JOT_IGN = @
endif
endif
# DO NOT DELETE