-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmake.cfg
104 lines (80 loc) · 3.02 KB
/
make.cfg
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
#******** DO NOT EDIT THIS FILE ********#
# this file specifies common make variables for the project
SHELL = /bin/sh
CC ?= cc
USER ?= anon
CFLAGS := -Wall
LFLAGS =
# CSC2035_ALT_SOLUTION off by default
# See joblog.c and shobject_name.c for alternatives that are switched by
# definition of this symbol
# You can set from environment using:
# export CSC2035_ALT_SOLUTION=1
CSC2035_ALT_SOLUTION ?= 0
# uncomment the following to always switch CSC2035_ALT_SOLUTION on
# CSC2035_ALT_SOLUTION := 1
ifeq ($(CSC2035_ALT_SOLUTION),1)
CFLAGS += -D_CSC2035_ALT_SOLUTION
endif
assignment := csc2035-assignment1
# may have to edit the following if not on Linux or MacOS
os := $(shell uname)
ifeq ($(os),Linux)
CFLAGS +=-g -std=c99 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
LFLAGS +=-lrt
LFLAGS_SEM =-lpthread
endif
bin := bin
dist := dist
depend := depend
objects := objects
submission := submission
test := test
testbin := $(bin)/$(test)
testobjects := $(objects)/$(test)
testdepend := $(depend)/$(test)
# munit resources
munitdepend := $(depend)/$(test)/munit
munit_lib_sources := munit/munit
munit_lib := $(testobjects)/munit.o
bwait_app_sources := bwait_consumer bwait_producer
sem_app_sources := sem_consumer sem_producer
sim_src := sim_control
ipc_sources := ipc shobject_name
queue_sources := ipc_jobqueue jobqueue
mutex_types := noop lockvar peterson
mutex_sources := $(mutex_types:%=mutex_%)
test_lib_sources := procs4tests test_jobqueue_common $(munit_lib_sources)
common_sources := $(ipc_sources) job joblog proc $(queue_sources) \
sem_jobqueue $(mutex_sources)
depend_sources := $(common_sources) $(bwait_app_sources) $(sem_app_sources) \
$(sim_src)
test_sources := $(common_sources:%=$(test)_%)
testdepend_sources := $(test_sources) $(test_lib_sources)
submission_sources := $(queue_sources) job joblog mutex_peterson sem_jobqueue \
shobject_name
ipc_libs := $(ipc_sources:%=$(objects)/%.o)
job_lib := $(objects)/job.o
joblog_lib := $(objects)/joblog.o
proc_lib := $(objects)/proc.o
sim_lib := $(objects)/sim_control.o
queue_libs := $(queue_sources:%=$(objects)/%.o)
sem_queue_libs := $(queue_libs) $(objects)/sem_jobqueue.o
procs4tests_lib := $(testobjects)/procs4tests.o
test_jobqueue_common_lib := $(testobjects)/test_jobqueue_common.o
app_libs := $(ipc_libs) $(job_lib) $(joblog_lib) $(proc_lib) $(sim_lib) \
$(queue_libs)
sem_app_libs := $(ipc_libs) $(job_lib) $(joblog_lib) $(proc_lib) $(sim_lib) \
$(sem_queue_libs)
test_ipc_libs := $(ipc_libs) $(munit_lib) $(proc_lib) $(procs4tests_lib)
init_sources_r01 := job joblog jobqueue shobject_name
depend_sources_r01 := $(init_sources_r01) proc
testdepend_sources_r01 := $(depend_sources_r01:%=$(test)_%) $(test_lib_sources)
make_r01 := Makefile.r01
make_depend_r01 := Makefile.dep.r01
init_sources_r02 := $(submission_sources)
depend_sources_r02 := $(init_sources_r02) proc ipc mutex_lockvar mutex_noop
testdepend_sources_r02 := $(depend_sources_r02:%=$(test)_%) $(test_lib_sources)
make_r02 := Makefile.r02
make_depend_r02 := Makefile.dep.r02
make_depend := Makefile.dep