1############################################################################
2# File:		makefile
3#
4# Purpose:	Makefile for the UNIXem project, for the Visual C++ 9 (x64 64-bit)
5#           compiler, on Win64
6#
7# Created:	15th Feburary 2005
8# Updated:	12th August 2010
9#
10############################################################################
11
12
13############################################################################
14# Environment check
15#
16
17
18############################################################################
19# Symbols
20
21########################################
22# Project & compiler version
23
24COMP_TAG            =   vc9
25ARCH_TAG            =   .x64
26OS_TAG				=
27PROJ_TAG			=	unixem
28PROJ_VER_MAJOR		=	1
29PROJ_TAG_VER		=	$(PROJ_TAG).$(PROJ_VER_MAJOR)
30
31PROJ_MAKEFILE_NAME  =   makefile
32
33########################################
34# Testing verbosity
35
36TEST_VERBOSITY		=	2
37
38########################################
39# Directories
40
41PROJ_BASE_DIR			=	..\..
42PROJ_BIN_DIR			=	$(PROJ_BASE_DIR)\bin
43PROJ_INCLUDE_DIR		=	$(PROJ_BASE_DIR)\include
44PROJ_LIB_DIR			=	$(PROJ_BASE_DIR)\lib
45PROJ_OBJ_DIR			=	.
46PROJ_SRC_DIR			=	$(PROJ_BASE_DIR)\src
47PROJ_EXAMPLES_DIR		=	$(PROJ_BASE_DIR)\examples
48PROJ_SAMPLES_DIR        =   $(PROJ_BASE_DIR)\samples
49PROJ_TEST_ROOT_DIR		=	$(PROJ_BASE_DIR)\test
50PROJ_TEST_COMPONENT_DIR	=	$(PROJ_TEST_ROOT_DIR)\component
51PROJ_TEST_SCRATCH_DIR	=	$(PROJ_TEST_ROOT_DIR)\scratch
52PROJ_TEST_UNIT_DIR		=	$(PROJ_TEST_ROOT_DIR)\unit
53
54########################################
55# tools
56
57CC						=	cl
58CPPC                    =   cl
59AR						=	lib
60LD						=	link
61RM						=	del /f
62CP						=	copy
63RC                      =   rc
64
65# Includes
66
67INCLUDES_LEADER			=
68
69PROJ_INCLUDE			=	-I$(PROJ_INCLUDE_DIR)
70
71ENV_INCLUDES 	=
72
73COMMON_INCLUDES		=
74
75CC_INCLUDES_BASE=\
76$(INCLUDES_LEADER)\
77$(PROJ_INCLUDE)\
78-I"$(STLSOFT)\include"\
79$(COMMON_INCLUDES)\
80$(ENV_INCLUDES)\
81 \
82
83CC_INCLUDES =\
84$(CC_INCLUDES_BASE)\
85 \
86
87CPPC_INCLUDES_BASE=\
88$(INCLUDES_LEADER)\
89$(PROJ_INCLUDE)\
90-I"$(STLSOFT)\include"\
91$(COMMON_INCLUDES)\
92$(ENV_INCLUDES)\
93 \
94
95CPPC_INCLUDES=\
96$(CPPC_INCLUDES_BASE)\
97 \
98
99
100# Lib
101
102LIBS_LEADER			=
103
104# lib paths
105
106ENV_LIBPATHS		=
107COMMON_LIBPATHS			=
108
109
110
111LIBPATHS=\
112 $(LIBS_LEADER)\
113 $(COMMON_LIBPATHS)\
114 $(ENV_LIBPATHS)\
115\
116
117
118# lib names
119
120TARGET_LIB_MT_D	=
121TARGET_LIB_DLL_D	=
122TARGET_LIB_DLL_R	=
123TARGET_LIB_MT_R	=
124
125# #defines
126
127COMMON_DEFS			=	-DWIN64
128
129CUSTOM_DEFS			=
130
131CC_CUSTOM_DEFS		=	$(CUSTOM_DEFS)
132
133CPPC_CUSTOM_DEFS	=	$(CUSTOM_DEFS)
134
135CC_DEFS 			=	$(COMMON_DEFS) $(CC_CUSTOM_DEFS)
136
137CPPC_DEFS			=	$(COMMON_DEFS) $(CPPC_CUSTOM_DEFS)
138
139# CC flags
140
141CC_F_NOLOGO				=	-nologo
142CC_F_COMPILE_ONLY		=	-c
143CC_F_WARNING_MAX		=	-W4
144CC_F_WARNING_ERR		=	-WX
145CC_F_WARNINGS_LIMIT		=
146CC_F_MINIMUM_SIZE		=
147#CC_F_MAXIMUM_SPEED		=
148CC_APP_F_WARNING_MAX	=	$(CC_F_WARNING_MAX)
149CC_APP_F_WARNING_ERR	=	$(CC_F_WARNING_ERR)
150
151# CPPC flags
152
153CPPC_F_NOLOGO			=	-nologo
154CPPC_F_COMPILE_ONLY 	=	-c
155CPPC_F_WARNING_MAX		=	-W4 -wd4800
156CPPC_F_WARNING_ERR		=	-WX
157CPPC_F_WARNINGS_LIMIT	=
158CPPC_F_MINIMUM_SIZE 	=
159#CPPC_F_MAXIMUM_SPEED	=
160CPPC_F_EXCEPTIONS		=
161CPPC_F_NO_EXCEPTIONS	=	-wd4530
162CPPC_F_WITH_EXCEPTIONS	=	-EHsc
163CPPC_F_RTTI 			=	-GR
164CPPC_APP_F_WARNING_MAX	=	$(CPPC_F_WARNING_MAX)
165CPPC_APP_F_WARNING_ERR	=	$(CPPC_F_WARNING_ERR)
166
167
168
169CC_TOOL_FLAGS		=
170
171CPPC_TOOL_FLAGS 	=
172
173
174
175CC_FLAGS =\
176 $(CC_TOOL_FLAGS)\
177 $(CC_F_NOLOGO)\
178 $(CC_F_COMPILE_ONLY)\
179 $(CC_F_WARNING_MAX)\
180 $(CC_F_WARNING_ERR)\
181 $(CC_F_WARNINGS_LIMIT)\
182 $(CC_F_MINIMUM_SIZE)\
183 \
184
185CPPC_FLAGS=\
186 $(CPPC_TOOL_FLAGS)\
187 $(CPPC_F_NOLOGO)\
188 $(CPPC_F_COMPILE_ONLY)\
189 $(CPPC_F_WARNING_MAX)\
190 $(CPPC_F_WARNING_ERR)\
191 $(CPPC_F_WARNINGS_LIMIT)\
192 $(CPPC_F_MINIMUM_SIZE)\
193 $(CPPC_F_EXCEPTIONS)\
194 $(CPPC_F_RTTI)\
195 \
196
197
198
199# Arguments (= flags + defines + includes)
200
201CC_ARGS_MT_D				=	-MTd -D_DEBUG -Zi -Fd$(TARGET_PDB_MT_D) $(CC_FLAGS) $(CC_DEFS) $(CC_INCLUDES)
202CC_ARGS_DLL_D				=	-MDd -D_DEBUG -Zi -Fd$(TARGET_PDB_DLL_D) $(CC_FLAGS) $(CC_DEFS) $(CC_INCLUDES)
203CC_ARGS_DLL_R				=	-MD -DNDEBUG -O1 $(CC_FLAGS) $(CC_DEFS) $(CC_INCLUDES)
204CC_ARGS_MT_R				=	-MT -DNDEBUG -O1 $(CC_FLAGS) $(CC_DEFS) $(CC_INCLUDES)
205
206AR_ARGS				=	-nologo
207
208LD_ARGS				=	-nologo $(COMMON_LIB)
209
210############################################################################
211# Targets
212
213TARGET_LIB_MT_D			=	$(PROJ_LIB_DIR)\$(PROJ_TAG_VER).$(COMP_TAG)$(OS_TAG)$(ARCH_TAG).mt.debug.lib
214TARGET_LIB_UN_MT_D		=	$(PROJ_LIB_DIR)\$(PROJ_TAG).$(COMP_TAG)$(OS_TAG)$(ARCH_TAG).mt.debug.lib
215TARGET_LIB_DLL_D			=	$(PROJ_LIB_DIR)\$(PROJ_TAG_VER).$(COMP_TAG)$(OS_TAG)$(ARCH_TAG).dll.debug.lib
216TARGET_LIB_UN_DLL_D		=	$(PROJ_LIB_DIR)\$(PROJ_TAG).$(COMP_TAG)$(OS_TAG)$(ARCH_TAG).dll.debug.lib
217TARGET_LIB_DLL_R			=	$(PROJ_LIB_DIR)\$(PROJ_TAG_VER).$(COMP_TAG)$(OS_TAG)$(ARCH_TAG).dll.lib
218TARGET_LIB_UN_DLL_R		=	$(PROJ_LIB_DIR)\$(PROJ_TAG).$(COMP_TAG)$(OS_TAG)$(ARCH_TAG).dll.lib
219TARGET_LIB_MT_R			=	$(PROJ_LIB_DIR)\$(PROJ_TAG_VER).$(COMP_TAG)$(OS_TAG)$(ARCH_TAG).mt.lib
220TARGET_LIB_UN_MT_R		=	$(PROJ_LIB_DIR)\$(PROJ_TAG).$(COMP_TAG)$(OS_TAG)$(ARCH_TAG).mt.lib
221
222TARGET_PDB_MT_D			=	$(PROJ_LIB_DIR)\$(PROJ_TAG_VER).$(COMP_TAG)$(OS_TAG)$(ARCH_TAG).mt.debug.pdb
223TARGET_PDB_DLL_D			=	$(PROJ_LIB_DIR)\$(PROJ_TAG_VER).$(COMP_TAG)$(OS_TAG)$(ARCH_TAG).dll.debug.pdb
224
225
226TARGETS = \
227 $(TARGET_LIB_MT_D)\
228 $(TARGET_LIB_UN_MT_D)\
229 $(TARGET_PDB_MT_D)\
230 $(TARGET_LIB_DLL_D)\
231 $(TARGET_LIB_UN_DLL_D)\
232 $(TARGET_PDB_DLL_D)\
233 $(TARGET_LIB_DLL_R)\
234 $(TARGET_LIB_UN_DLL_R)\
235 $(TARGET_LIB_MT_R)\
236 $(TARGET_LIB_UN_MT_R)\
237 \
238
239OBJ_PROJ_atomic__MT_D = $(PROJ_OBJ_DIR)\atomic.mt.debug.obj
240OBJ_PROJ_dirent__MT_D = $(PROJ_OBJ_DIR)\dirent.mt.debug.obj
241OBJ_PROJ_dlfcn__MT_D = $(PROJ_OBJ_DIR)\dlfcn.mt.debug.obj
242OBJ_PROJ_glob__MT_D = $(PROJ_OBJ_DIR)\glob.mt.debug.obj
243OBJ_PROJ_hostname__MT_D = $(PROJ_OBJ_DIR)\hostname.mt.debug.obj
244OBJ_PROJ_mmap__MT_D = $(PROJ_OBJ_DIR)\mmap.mt.debug.obj
245OBJ_PROJ_resource__MT_D = $(PROJ_OBJ_DIR)\resource.mt.debug.obj
246OBJ_PROJ_setenv__MT_D = $(PROJ_OBJ_DIR)\setenv.mt.debug.obj
247OBJ_PROJ_time__MT_D = $(PROJ_OBJ_DIR)\time.mt.debug.obj
248OBJ_PROJ_uio__MT_D = $(PROJ_OBJ_DIR)\uio.mt.debug.obj
249OBJ_PROJ_unistd__MT_D = $(PROJ_OBJ_DIR)\unistd.mt.debug.obj
250OBJ_PROJ_internal_util__MT_D = $(PROJ_OBJ_DIR)\internal.util.mt.debug.obj
251
252OBJ_PROJ_MT_D = \
253 $(OBJ_PROJ_atomic__MT_D)\
254 $(OBJ_PROJ_dirent__MT_D)\
255 $(OBJ_PROJ_dlfcn__MT_D)\
256 $(OBJ_PROJ_glob__MT_D)\
257 $(OBJ_PROJ_hostname__MT_D)\
258 $(OBJ_PROJ_mmap__MT_D)\
259 $(OBJ_PROJ_resource__MT_D)\
260 $(OBJ_PROJ_setenv__MT_D)\
261 $(OBJ_PROJ_time__MT_D)\
262 $(OBJ_PROJ_uio__MT_D)\
263 $(OBJ_PROJ_unistd__MT_D)\
264 $(OBJ_PROJ_internal_util__MT_D)\
265 \
266
267OBJ_PROJ_atomic__DLL_D = $(PROJ_OBJ_DIR)\atomic.dll.debug.obj
268OBJ_PROJ_dirent__DLL_D = $(PROJ_OBJ_DIR)\dirent.dll.debug.obj
269OBJ_PROJ_dlfcn__DLL_D = $(PROJ_OBJ_DIR)\dlfcn.dll.debug.obj
270OBJ_PROJ_glob__DLL_D = $(PROJ_OBJ_DIR)\glob.dll.debug.obj
271OBJ_PROJ_hostname__DLL_D = $(PROJ_OBJ_DIR)\hostname.dll.debug.obj
272OBJ_PROJ_mmap__DLL_D = $(PROJ_OBJ_DIR)\mmap.dll.debug.obj
273OBJ_PROJ_resource__DLL_D = $(PROJ_OBJ_DIR)\resource.dll.debug.obj
274OBJ_PROJ_setenv__DLL_D = $(PROJ_OBJ_DIR)\setenv.dll.debug.obj
275OBJ_PROJ_time__DLL_D = $(PROJ_OBJ_DIR)\time.dll.debug.obj
276OBJ_PROJ_uio__DLL_D = $(PROJ_OBJ_DIR)\uio.dll.debug.obj
277OBJ_PROJ_unistd__DLL_D = $(PROJ_OBJ_DIR)\unistd.dll.debug.obj
278OBJ_PROJ_internal_util__DLL_D = $(PROJ_OBJ_DIR)\internal.util.dll.debug.obj
279
280OBJ_PROJ_DLL_D = \
281 $(OBJ_PROJ_atomic__DLL_D)\
282 $(OBJ_PROJ_dirent__DLL_D)\
283 $(OBJ_PROJ_dlfcn__DLL_D)\
284 $(OBJ_PROJ_glob__DLL_D)\
285 $(OBJ_PROJ_hostname__DLL_D)\
286 $(OBJ_PROJ_mmap__DLL_D)\
287 $(OBJ_PROJ_resource__DLL_D)\
288 $(OBJ_PROJ_setenv__DLL_D)\
289 $(OBJ_PROJ_time__DLL_D)\
290 $(OBJ_PROJ_uio__DLL_D)\
291 $(OBJ_PROJ_unistd__DLL_D)\
292 $(OBJ_PROJ_internal_util__DLL_D)\
293 \
294
295OBJ_PROJ_atomic__DLL_R = $(PROJ_OBJ_DIR)\atomic.dll.obj
296OBJ_PROJ_dirent__DLL_R = $(PROJ_OBJ_DIR)\dirent.dll.obj
297OBJ_PROJ_dlfcn__DLL_R = $(PROJ_OBJ_DIR)\dlfcn.dll.obj
298OBJ_PROJ_glob__DLL_R = $(PROJ_OBJ_DIR)\glob.dll.obj
299OBJ_PROJ_hostname__DLL_R = $(PROJ_OBJ_DIR)\hostname.dll.obj
300OBJ_PROJ_mmap__DLL_R = $(PROJ_OBJ_DIR)\mmap.dll.obj
301OBJ_PROJ_resource__DLL_R = $(PROJ_OBJ_DIR)\resource.dll.obj
302OBJ_PROJ_setenv__DLL_R = $(PROJ_OBJ_DIR)\setenv.dll.obj
303OBJ_PROJ_time__DLL_R = $(PROJ_OBJ_DIR)\time.dll.obj
304OBJ_PROJ_uio__DLL_R = $(PROJ_OBJ_DIR)\uio.dll.obj
305OBJ_PROJ_unistd__DLL_R = $(PROJ_OBJ_DIR)\unistd.dll.obj
306OBJ_PROJ_internal_util__DLL_R = $(PROJ_OBJ_DIR)\internal.util.dll.obj
307
308OBJ_PROJ_DLL_R = \
309 $(OBJ_PROJ_atomic__DLL_R)\
310 $(OBJ_PROJ_dirent__DLL_R)\
311 $(OBJ_PROJ_dlfcn__DLL_R)\
312 $(OBJ_PROJ_glob__DLL_R)\
313 $(OBJ_PROJ_hostname__DLL_R)\
314 $(OBJ_PROJ_mmap__DLL_R)\
315 $(OBJ_PROJ_resource__DLL_R)\
316 $(OBJ_PROJ_setenv__DLL_R)\
317 $(OBJ_PROJ_time__DLL_R)\
318 $(OBJ_PROJ_uio__DLL_R)\
319 $(OBJ_PROJ_unistd__DLL_R)\
320 $(OBJ_PROJ_internal_util__DLL_R)\
321 \
322
323OBJ_PROJ_atomic__MT_R = $(PROJ_OBJ_DIR)\atomic.mt.obj
324OBJ_PROJ_dirent__MT_R = $(PROJ_OBJ_DIR)\dirent.mt.obj
325OBJ_PROJ_dlfcn__MT_R = $(PROJ_OBJ_DIR)\dlfcn.mt.obj
326OBJ_PROJ_glob__MT_R = $(PROJ_OBJ_DIR)\glob.mt.obj
327OBJ_PROJ_hostname__MT_R = $(PROJ_OBJ_DIR)\hostname.mt.obj
328OBJ_PROJ_mmap__MT_R = $(PROJ_OBJ_DIR)\mmap.mt.obj
329OBJ_PROJ_resource__MT_R = $(PROJ_OBJ_DIR)\resource.mt.obj
330OBJ_PROJ_setenv__MT_R = $(PROJ_OBJ_DIR)\setenv.mt.obj
331OBJ_PROJ_time__MT_R = $(PROJ_OBJ_DIR)\time.mt.obj
332OBJ_PROJ_uio__MT_R = $(PROJ_OBJ_DIR)\uio.mt.obj
333OBJ_PROJ_unistd__MT_R = $(PROJ_OBJ_DIR)\unistd.mt.obj
334OBJ_PROJ_internal_util__MT_R = $(PROJ_OBJ_DIR)\internal.util.mt.obj
335
336OBJ_PROJ_MT_R = \
337 $(OBJ_PROJ_atomic__MT_R)\
338 $(OBJ_PROJ_dirent__MT_R)\
339 $(OBJ_PROJ_dlfcn__MT_R)\
340 $(OBJ_PROJ_glob__MT_R)\
341 $(OBJ_PROJ_hostname__MT_R)\
342 $(OBJ_PROJ_mmap__MT_R)\
343 $(OBJ_PROJ_resource__MT_R)\
344 $(OBJ_PROJ_setenv__MT_R)\
345 $(OBJ_PROJ_time__MT_R)\
346 $(OBJ_PROJ_uio__MT_R)\
347 $(OBJ_PROJ_unistd__MT_R)\
348 $(OBJ_PROJ_internal_util__MT_R)\
349 \
350
351OBJS = \
352 $(OBJ_PROJ_MT_D)\
353 $(OBJ_PROJ_DLL_D)\
354 $(OBJ_PROJ_DLL_R)\
355 $(OBJ_PROJ_MT_R)\
356 \
357
358all:	target
359
360usage:
361	@echo "make [usage | clean | all | test | target] - default is 'all'"
362
363clean:
364	@-$(RM) $(TARGET_LIB_MT_D)
365	@-$(RM) $(TARGET_LIB_UN_MT_D)
366	@-$(RM) $(TARGET_PDB_MT_D)
367	@-$(RM) $(TARGET_LIB_DLL_D)
368	@-$(RM) $(TARGET_LIB_UN_DLL_D)
369	@-$(RM) $(TARGET_PDB_DLL_D)
370	@-$(RM) $(TARGET_LIB_DLL_R)
371	@-$(RM) $(TARGET_LIB_UN_DLL_R)
372	@-$(RM) $(TARGET_LIB_MT_R)
373	@-$(RM) $(TARGET_LIB_UN_MT_R)
374	@-$(RM) $(OBJ_PROJ_MT_D)
375	@-$(RM) $(OBJ_PROJ_DLL_D)
376	@-$(RM) $(OBJ_PROJ_DLL_R)
377	@-$(RM) $(OBJ_PROJ_MT_R)
378
379
380# targets
381
382target:		check.lib.dir $(TARGETS)
383
384compile.libs.core:	$(OBJS)
385
386compile.libs:		compile.libs.core
387
388compile:			compile.libs
389
390build.libs.core:	$(TARGETS)
391
392build.libs:			build.libs.core
393
394build:				build.libs
395
396check.lib.dir:
397	@-if not exist $(PROJ_LIB_DIR)\NUL mkdir $(PROJ_LIB_DIR)
398
399check.bin.dir:
400	@-if not exist $(PROJ_BIN_DIR)\NUL mkdir $(PROJ_BIN_DIR)
401
402
403test_:
404#	$(TARGET_TEST_C_MT_D) --unittest
405#	$(TARGET_TEST_C_DLL_D) --unittest
406#	$(TARGET_TEST_C_DLL_R) --unittest
407#	$(TARGET_TEST_C_MT_R) --unittest
408
409test:	target test_
410
411
412# build targets
413
414# library
415
416
417$(TARGET_LIB_UN_MT_D): $(TARGET_LIB_MT_D)
418	@$(CP) $(TARGET_LIB_MT_D) $@
419
420$(TARGET_LIB_MT_D): $(OBJ_PROJ_MT_D) makefile
421	@-if not exist $(B64_LIB_DIR)\NUL mkdir $(B64_LIB_DIR)
422	$(AR) $(AR_ARGS) -out:$@ $(OBJ_PROJ_MT_D)
423
424$(OBJ_PROJ_atomic__MT_D):	$(PROJ_SRC_DIR)\atomic.c $(PROJ_INCLUDE_DIR)\asm\atomic.h makefile
425	$(CC) $(CC_ARGS_MT_D) -Fo$@ $(PROJ_SRC_DIR)\atomic.c
426$(OBJ_PROJ_dirent__MT_D):	$(PROJ_SRC_DIR)\dirent.c $(PROJ_INCLUDE_DIR)\dirent.h makefile
427	$(CC) $(CC_ARGS_MT_D) -Fo$@ $(PROJ_SRC_DIR)\dirent.c
428$(OBJ_PROJ_dlfcn__MT_D):	$(PROJ_SRC_DIR)\dlfcn.c $(PROJ_INCLUDE_DIR)\dlfcn.h makefile
429	$(CC) $(CC_ARGS_MT_D) -Fo$@ $(PROJ_SRC_DIR)\dlfcn.c
430$(OBJ_PROJ_glob__MT_D):	$(PROJ_SRC_DIR)\glob.c $(PROJ_INCLUDE_DIR)\glob.h makefile
431	$(CC) $(CC_ARGS_MT_D) -Fo$@ $(PROJ_SRC_DIR)\glob.c
432$(OBJ_PROJ_hostname__MT_D):	$(PROJ_SRC_DIR)\hostname.c $(PROJ_INCLUDE_DIR)\unistd.h makefile
433	$(CC) $(CC_ARGS_MT_D) -Fo$@ $(PROJ_SRC_DIR)\hostname.c
434$(OBJ_PROJ_mmap__MT_D):	$(PROJ_SRC_DIR)\mmap.c $(PROJ_INCLUDE_DIR)\sys\mman.h makefile
435	$(CC) $(CC_ARGS_MT_D) -Fo$@ $(PROJ_SRC_DIR)\mmap.c
436$(OBJ_PROJ_resource__MT_D):	$(PROJ_SRC_DIR)\resource.c $(PROJ_INCLUDE_DIR)\sys\resource.h makefile
437	$(CC) $(CC_ARGS_MT_D) -Fo$@ $(PROJ_SRC_DIR)\resource.c
438$(OBJ_PROJ_setenv__MT_D):	$(PROJ_SRC_DIR)\setenv.c $(PROJ_INCLUDE_DIR)\unixem\setenv.h makefile
439	$(CC) $(CC_ARGS_MT_D) -Fo$@ $(PROJ_SRC_DIR)\setenv.c
440$(OBJ_PROJ_time__MT_D):	$(PROJ_SRC_DIR)\time.c $(PROJ_INCLUDE_DIR)\sys\time.h makefile
441	$(CC) $(CC_ARGS_MT_D) -Fo$@ $(PROJ_SRC_DIR)\time.c
442$(OBJ_PROJ_uio__MT_D):	$(PROJ_SRC_DIR)\uio.c $(PROJ_INCLUDE_DIR)\sys\uio.h makefile
443	$(CC) $(CC_ARGS_MT_D) -Fo$@ $(PROJ_SRC_DIR)\uio.c
444$(OBJ_PROJ_unistd__MT_D):	$(PROJ_SRC_DIR)\unistd.c $(PROJ_INCLUDE_DIR)\unistd.h makefile
445	$(CC) $(CC_ARGS_MT_D) -Fo$@ $(PROJ_SRC_DIR)\unistd.c
446$(OBJ_PROJ_internal_util__MT_D): $(PROJ_SRC_DIR)\internal\util.c $(PROJ_INCLUDE_DIR)\unixem\internal\util.h makefile
447	$(CC) $(CC_ARGS_MT_D) -Fo$@ $(PROJ_SRC_DIR)\internal\util.c
448
449
450
451$(TARGET_LIB_UN_DLL_D): $(TARGET_LIB_DLL_D)
452	@$(CP) $(TARGET_LIB_DLL_D) $@
453
454$(TARGET_LIB_DLL_D): $(OBJ_PROJ_DLL_D) makefile
455	@-if not exist $(B64_LIB_DIR)\NUL mkdir $(B64_LIB_DIR)
456	$(AR) $(AR_ARGS) -out:$@ $(OBJ_PROJ_DLL_D)
457
458$(OBJ_PROJ_atomic__DLL_D):	$(PROJ_SRC_DIR)\atomic.c $(PROJ_INCLUDE_DIR)\asm\atomic.h makefile
459	$(CC) $(CC_ARGS_DLL_D) -Fo$@ $(PROJ_SRC_DIR)\atomic.c
460$(OBJ_PROJ_dirent__DLL_D):	$(PROJ_SRC_DIR)\dirent.c $(PROJ_INCLUDE_DIR)\dirent.h makefile
461	$(CC) $(CC_ARGS_DLL_D) -Fo$@ $(PROJ_SRC_DIR)\dirent.c
462$(OBJ_PROJ_dlfcn__DLL_D):	$(PROJ_SRC_DIR)\dlfcn.c $(PROJ_INCLUDE_DIR)\dlfcn.h makefile
463	$(CC) $(CC_ARGS_DLL_D) -Fo$@ $(PROJ_SRC_DIR)\dlfcn.c
464$(OBJ_PROJ_glob__DLL_D):	$(PROJ_SRC_DIR)\glob.c $(PROJ_INCLUDE_DIR)\glob.h makefile
465	$(CC) $(CC_ARGS_DLL_D) -Fo$@ $(PROJ_SRC_DIR)\glob.c
466$(OBJ_PROJ_hostname__DLL_D):	$(PROJ_SRC_DIR)\hostname.c $(PROJ_INCLUDE_DIR)\unistd.h makefile
467	$(CC) $(CC_ARGS_DLL_D) -Fo$@ $(PROJ_SRC_DIR)\hostname.c
468$(OBJ_PROJ_mmap__DLL_D):	$(PROJ_SRC_DIR)\mmap.c $(PROJ_INCLUDE_DIR)\sys\mman.h makefile
469	$(CC) $(CC_ARGS_DLL_D) -Fo$@ $(PROJ_SRC_DIR)\mmap.c
470$(OBJ_PROJ_resource__DLL_D):	$(PROJ_SRC_DIR)\resource.c $(PROJ_INCLUDE_DIR)\sys\resource.h makefile
471	$(CC) $(CC_ARGS_DLL_D) -Fo$@ $(PROJ_SRC_DIR)\resource.c
472$(OBJ_PROJ_setenv__DLL_D):	$(PROJ_SRC_DIR)\setenv.c $(PROJ_INCLUDE_DIR)\unixem\setenv.h makefile
473	$(CC) $(CC_ARGS_DLL_D) -Fo$@ $(PROJ_SRC_DIR)\setenv.c
474$(OBJ_PROJ_time__DLL_D):	$(PROJ_SRC_DIR)\time.c $(PROJ_INCLUDE_DIR)\sys\time.h makefile
475	$(CC) $(CC_ARGS_DLL_D) -Fo$@ $(PROJ_SRC_DIR)\time.c
476$(OBJ_PROJ_uio__DLL_D):	$(PROJ_SRC_DIR)\uio.c $(PROJ_INCLUDE_DIR)\sys\uio.h makefile
477	$(CC) $(CC_ARGS_DLL_D) -Fo$@ $(PROJ_SRC_DIR)\uio.c
478$(OBJ_PROJ_unistd__DLL_D):	$(PROJ_SRC_DIR)\unistd.c $(PROJ_INCLUDE_DIR)\unistd.h makefile
479	$(CC) $(CC_ARGS_DLL_D) -Fo$@ $(PROJ_SRC_DIR)\unistd.c
480$(OBJ_PROJ_internal_util__DLL_D): $(PROJ_SRC_DIR)\internal\util.c $(PROJ_INCLUDE_DIR)\unixem\internal\util.h makefile
481	$(CC) $(CC_ARGS_DLL_D) -Fo$@ $(PROJ_SRC_DIR)\internal\util.c
482
483
484
485$(TARGET_LIB_UN_DLL_R): $(TARGET_LIB_DLL_R)
486	@$(CP) $(TARGET_LIB_DLL_R) $@
487
488$(TARGET_LIB_DLL_R): $(OBJ_PROJ_DLL_R) makefile
489	@-if not exist $(B64_LIB_DIR)\NUL mkdir $(B64_LIB_DIR)
490	$(AR) $(AR_ARGS) -out:$@ $(OBJ_PROJ_DLL_R)
491
492$(OBJ_PROJ_atomic__DLL_R):	$(PROJ_SRC_DIR)\atomic.c $(PROJ_INCLUDE_DIR)\asm\atomic.h makefile
493	$(CC) $(CC_ARGS_DLL_R) -Fo$@ $(PROJ_SRC_DIR)\atomic.c
494$(OBJ_PROJ_dirent__DLL_R):	$(PROJ_SRC_DIR)\dirent.c $(PROJ_INCLUDE_DIR)\dirent.h makefile
495	$(CC) $(CC_ARGS_DLL_R) -Fo$@ $(PROJ_SRC_DIR)\dirent.c
496$(OBJ_PROJ_dlfcn__DLL_R):	$(PROJ_SRC_DIR)\dlfcn.c $(PROJ_INCLUDE_DIR)\dlfcn.h makefile
497	$(CC) $(CC_ARGS_DLL_R) -Fo$@ $(PROJ_SRC_DIR)\dlfcn.c
498$(OBJ_PROJ_glob__DLL_R):	$(PROJ_SRC_DIR)\glob.c $(PROJ_INCLUDE_DIR)\glob.h makefile
499	$(CC) $(CC_ARGS_DLL_R) -Fo$@ $(PROJ_SRC_DIR)\glob.c
500$(OBJ_PROJ_hostname__DLL_R):	$(PROJ_SRC_DIR)\hostname.c $(PROJ_INCLUDE_DIR)\unistd.h makefile
501	$(CC) $(CC_ARGS_DLL_R) -Fo$@ $(PROJ_SRC_DIR)\hostname.c
502$(OBJ_PROJ_mmap__DLL_R):	$(PROJ_SRC_DIR)\mmap.c $(PROJ_INCLUDE_DIR)\sys\mman.h makefile
503	$(CC) $(CC_ARGS_DLL_R) -Fo$@ $(PROJ_SRC_DIR)\mmap.c
504$(OBJ_PROJ_resource__DLL_R):	$(PROJ_SRC_DIR)\resource.c $(PROJ_INCLUDE_DIR)\sys\resource.h makefile
505	$(CC) $(CC_ARGS_DLL_R) -Fo$@ $(PROJ_SRC_DIR)\resource.c
506$(OBJ_PROJ_setenv__DLL_R):	$(PROJ_SRC_DIR)\setenv.c $(PROJ_INCLUDE_DIR)\unixem\setenv.h makefile
507	$(CC) $(CC_ARGS_DLL_R) -Fo$@ $(PROJ_SRC_DIR)\setenv.c
508$(OBJ_PROJ_time__DLL_R):	$(PROJ_SRC_DIR)\time.c $(PROJ_INCLUDE_DIR)\sys\time.h makefile
509	$(CC) $(CC_ARGS_DLL_R) -Fo$@ $(PROJ_SRC_DIR)\time.c
510$(OBJ_PROJ_uio__DLL_R):	$(PROJ_SRC_DIR)\uio.c $(PROJ_INCLUDE_DIR)\sys\uio.h makefile
511	$(CC) $(CC_ARGS_DLL_R) -Fo$@ $(PROJ_SRC_DIR)\uio.c
512$(OBJ_PROJ_unistd__DLL_R):	$(PROJ_SRC_DIR)\unistd.c $(PROJ_INCLUDE_DIR)\unistd.h makefile
513	$(CC) $(CC_ARGS_DLL_R) -Fo$@ $(PROJ_SRC_DIR)\unistd.c
514$(OBJ_PROJ_internal_util__DLL_R): $(PROJ_SRC_DIR)\internal\util.c $(PROJ_INCLUDE_DIR)\unixem\internal\util.h makefile
515	$(CC) $(CC_ARGS_DLL_R) -Fo$@ $(PROJ_SRC_DIR)\internal\util.c
516
517
518
519$(TARGET_LIB_UN_MT_R): $(TARGET_LIB_MT_R)
520	@$(CP) $(TARGET_LIB_MT_R) $@
521
522$(TARGET_LIB_MT_R): $(OBJ_PROJ_MT_R) makefile
523	@-if not exist $(B64_LIB_DIR)\NUL mkdir $(B64_LIB_DIR)
524	$(AR) $(AR_ARGS) -out:$@ $(OBJ_PROJ_MT_R)
525
526$(OBJ_PROJ_atomic__MT_R):	$(PROJ_SRC_DIR)\atomic.c $(PROJ_INCLUDE_DIR)\asm\atomic.h makefile
527	$(CC) $(CC_ARGS_MT_R) -Fo$@ $(PROJ_SRC_DIR)\atomic.c
528$(OBJ_PROJ_dirent__MT_R):	$(PROJ_SRC_DIR)\dirent.c $(PROJ_INCLUDE_DIR)\dirent.h makefile
529	$(CC) $(CC_ARGS_MT_R) -Fo$@ $(PROJ_SRC_DIR)\dirent.c
530$(OBJ_PROJ_dlfcn__MT_R):	$(PROJ_SRC_DIR)\dlfcn.c $(PROJ_INCLUDE_DIR)\dlfcn.h makefile
531	$(CC) $(CC_ARGS_MT_R) -Fo$@ $(PROJ_SRC_DIR)\dlfcn.c
532$(OBJ_PROJ_glob__MT_R):	$(PROJ_SRC_DIR)\glob.c $(PROJ_INCLUDE_DIR)\glob.h makefile
533	$(CC) $(CC_ARGS_MT_R) -Fo$@ $(PROJ_SRC_DIR)\glob.c
534$(OBJ_PROJ_hostname__MT_R):	$(PROJ_SRC_DIR)\hostname.c $(PROJ_INCLUDE_DIR)\unistd.h makefile
535	$(CC) $(CC_ARGS_MT_R) -Fo$@ $(PROJ_SRC_DIR)\hostname.c
536$(OBJ_PROJ_mmap__MT_R):	$(PROJ_SRC_DIR)\mmap.c $(PROJ_INCLUDE_DIR)\sys\mman.h makefile
537	$(CC) $(CC_ARGS_MT_R) -Fo$@ $(PROJ_SRC_DIR)\mmap.c
538$(OBJ_PROJ_resource__MT_R):	$(PROJ_SRC_DIR)\resource.c $(PROJ_INCLUDE_DIR)\sys\resource.h makefile
539	$(CC) $(CC_ARGS_MT_R) -Fo$@ $(PROJ_SRC_DIR)\resource.c
540$(OBJ_PROJ_setenv__MT_R):	$(PROJ_SRC_DIR)\setenv.c $(PROJ_INCLUDE_DIR)\unixem\setenv.h makefile
541	$(CC) $(CC_ARGS_MT_R) -Fo$@ $(PROJ_SRC_DIR)\setenv.c
542$(OBJ_PROJ_time__MT_R):	$(PROJ_SRC_DIR)\time.c $(PROJ_INCLUDE_DIR)\sys\time.h makefile
543	$(CC) $(CC_ARGS_MT_R) -Fo$@ $(PROJ_SRC_DIR)\time.c
544$(OBJ_PROJ_uio__MT_R):	$(PROJ_SRC_DIR)\uio.c $(PROJ_INCLUDE_DIR)\sys\uio.h makefile
545	$(CC) $(CC_ARGS_MT_R) -Fo$@ $(PROJ_SRC_DIR)\uio.c
546$(OBJ_PROJ_unistd__MT_R):	$(PROJ_SRC_DIR)\unistd.c $(PROJ_INCLUDE_DIR)\unistd.h makefile
547	$(CC) $(CC_ARGS_MT_R) -Fo$@ $(PROJ_SRC_DIR)\unistd.c
548$(OBJ_PROJ_internal_util__MT_R): $(PROJ_SRC_DIR)\internal\util.c $(PROJ_INCLUDE_DIR)\unixem\internal\util.h makefile
549	$(CC) $(CC_ARGS_MT_R) -Fo$@ $(PROJ_SRC_DIR)\internal\util.c
550
551
552
553############################################################################
554