summaryrefslogtreecommitdiff
path: root/pjlib/build
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2005-11-01 16:42:51 +0000
committerBenny Prijono <bennylp@teluu.com>2005-11-01 16:42:51 +0000
commit81ecc233996dcddfbef707bd9a5099f5d9e5eb13 (patch)
treec735c382ff2dac0179b96505c4192ee70185372d /pjlib/build
parentb5a1af6f999820564ead4867b1e5d5574778ee56 (diff)
Added suppor /and fix things for SunOS port
git-svn-id: http://svn.pjsip.org/repos/pjproject/main@2 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjlib/build')
-rw-r--r--pjlib/build/Makefile302
-rw-r--r--pjlib/build/os-linux-kernel.mak94
-rw-r--r--pjlib/build/os-linux.mak72
-rw-r--r--pjlib/build/os-sunos.mak36
-rw-r--r--pjlib/build/os-win32.mak54
-rw-r--r--pjlib/build/pjlib_samples.mak70
6 files changed, 332 insertions, 296 deletions
diff --git a/pjlib/build/Makefile b/pjlib/build/Makefile
index 7bffdc99..21b2d387 100644
--- a/pjlib/build/Makefile
+++ b/pjlib/build/Makefile
@@ -1,151 +1,151 @@
-#
-# Include host/target/compiler selection.
-# This will export CC_NAME, MACHINE_NAME, OS_NAME, and HOST_NAME variables.
-#
-include ../../build.mak
-
-#
-# Include global compiler specific definitions
-#
-include ../../build/cc-$(CC_NAME).mak
-
-#
-# (Optionally) Include compiler specific configuration that is
-# specific to this project. This configuration file is
-# located in this directory.
-#
--include cc-$(CC_NAME).mak
-
-#
-# Include global machine specific definitions
-#
-include ../../build/m-$(MACHINE_NAME).mak
--include m-$(MACHINE_NAME).mak
-
-#
-# Include target OS specific definitions
-#
-include ../../build/os-$(OS_NAME).mak
-
-#
-# (Optionally) Include target OS specific configuration that is
-# specific to this project. This configuration file is
-# located in this directory.
-#
--include os-$(OS_NAME).mak
-
-#
-# Include host specific definitions
-#
-include ../../build/host-$(HOST_NAME).mak
-
-#
-# (Optionally) Include host specific configuration that is
-# specific to this project. This configuration file is
-# located in this directory.
-#
--include host-$(HOST_NAME).mak
-
-#
-# Include global user configuration, if any
-#
--include ../../user.mak
-
-
-RULES_MAK := ../../build/rules.mak
-
-
-export PJLIB_LIB := ../lib/libpj-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT)
-
-###############################################################################
-# Gather all flags.
-#
-export _CFLAGS := $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \
- $(CFLAGS) $(CC_INC)../include
-export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \
- $(HOST_CXXFLAGS) $(CXXFLAGS)
-export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \
- $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \
- $(LDFLAGS)
-
-###############################################################################
-# Defines for building PJLIB library
-#
-export PJLIB_SRCDIR = ../src/pj
-export PJLIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
- array.o config.o errno.o except.o fifobuf.o guid.o \
- hash.o list.o lock.o log.o \
- md5.o pool.o pool_caching.o rand.o \
- rbtree.o scanner.o string.o stun.o stun_client.o timer.o \
- types.o xml.o symbols.o
-export PJLIB_CFLAGS += $(_CFLAGS)
-
-###############################################################################
-# Defines for building test application
-#
-export TEST_SRCDIR = ../src/pjlib-test
-export TEST_OBJS += atomic.o echo_clt.o echo_srv.o errno.o exception.o \
- fifobuf.o \
- ioq_perf.o ioq_udp.o ioq_tcp.o \
- list.o mutex.o os.o pool.o pool_perf.o rand.o rbtree.o \
- select.o sleep.o sock.o sock_perf.o \
- string.o test.o thread.o timer.o timestamp.o \
- udp_echo_srv_sync.o \
- util.o xml.o
-export TEST_CFLAGS += $(_CFLAGS)
-export TEST_LDFLAGS += $(_LDFLAGS)
-export TEST_EXE := ../bin/pjlib-test-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(HOST_EXE)
-
-
-export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
-
-###############################################################################
-# Main entry
-#
-# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.
-#
-
-all: $(TARGETS)
-
-doc:
- cd .. && doxygen docs/doxygen.cfg
-
-print:
- $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib print_lib
- $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test print_bin
-
-depend:
- $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib depend
- $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test depend
- echo '$(TEST_EXE): $(PJLIB_LIB)' >> .pjlib-test-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME).depend
-
-
-.PHONY: dep depend pjlib pjlib-test clean realclean distclean
-
-dep: depend
-
-pjlib:
- $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(PJLIB_LIB)
-
-pjlib-test:
- $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(TEST_EXE)
-
-.PHONY: ../lib/pjlib.ko
-../lib/pjlib.ko:
- echo Making $@
- $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $@
-
-.PHONY: ../lib/pjlib-test.ko
-../lib/pjlib-test.ko:
- $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $@
-
-clean:
- $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib clean
- $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test clean
-
-realclean:
- $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib realclean
- $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test realclean
-
-distclean: realclean
-
+#
+# Include host/target/compiler selection.
+# This will export CC_NAME, MACHINE_NAME, OS_NAME, and HOST_NAME variables.
+#
+include ../../build.mak
+
+#
+# Include global compiler specific definitions
+#
+include ../../build/cc-$(CC_NAME).mak
+
+#
+# (Optionally) Include compiler specific configuration that is
+# specific to this project. This configuration file is
+# located in this directory.
+#
+-include cc-$(CC_NAME).mak
+
+#
+# Include global machine specific definitions
+#
+include ../../build/m-$(MACHINE_NAME).mak
+-include m-$(MACHINE_NAME).mak
+
+#
+# Include target OS specific definitions
+#
+include ../../build/os-$(OS_NAME).mak
+
+#
+# (Optionally) Include target OS specific configuration that is
+# specific to this project. This configuration file is
+# located in this directory.
+#
+-include os-$(OS_NAME).mak
+
+#
+# Include host specific definitions
+#
+include ../../build/host-$(HOST_NAME).mak
+
+#
+# (Optionally) Include host specific configuration that is
+# specific to this project. This configuration file is
+# located in this directory.
+#
+-include host-$(HOST_NAME).mak
+
+#
+# Include global user configuration, if any
+#
+-include ../../user.mak
+
+
+RULES_MAK := ../../build/rules.mak
+
+
+export PJLIB_LIB := ../lib/libpj-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(LIBEXT)
+
+###############################################################################
+# Gather all flags.
+#
+export _CFLAGS := -O2 $(CC_CFLAGS) $(OS_CFLAGS) $(HOST_CFLAGS) $(M_CFLAGS) \
+ $(CFLAGS) $(CC_INC)../include
+export _CXXFLAGS:= $(_CFLAGS) $(CC_CXXFLAGS) $(OS_CXXFLAGS) $(M_CXXFLAGS) \
+ $(HOST_CXXFLAGS) $(CXXFLAGS)
+export _LDFLAGS := $(subst /,$(HOST_PSEP),$(PJLIB_LIB)) \
+ $(CC_LDFLAGS) $(OS_LDFLAGS) $(M_LDFLAGS) $(HOST_LDFLAGS) \
+ $(LDFLAGS)
+
+###############################################################################
+# Defines for building PJLIB library
+#
+export PJLIB_SRCDIR = ../src/pj
+export PJLIB_OBJS += $(OS_OBJS) $(M_OBJS) $(CC_OBJS) $(HOST_OBJS) \
+ array.o config.o errno.o except.o fifobuf.o guid.o \
+ hash.o list.o lock.o log.o \
+ md5.o pool.o pool_caching.o rand.o \
+ rbtree.o scanner.o string.o stun.o stun_client.o timer.o \
+ types.o xml.o symbols.o
+export PJLIB_CFLAGS += $(_CFLAGS)
+
+###############################################################################
+# Defines for building test application
+#
+export TEST_SRCDIR = ../src/pjlib-test
+export TEST_OBJS += atomic.o echo_clt.o echo_srv.o errno.o exception.o \
+ fifobuf.o \
+ ioq_perf.o ioq_udp.o ioq_tcp.o \
+ list.o mutex.o os.o pool.o pool_perf.o rand.o rbtree.o \
+ select.o sleep.o sock.o sock_perf.o \
+ string.o test.o thread.o timer.o timestamp.o \
+ udp_echo_srv_sync.o \
+ util.o xml.o
+export TEST_CFLAGS += $(_CFLAGS)
+export TEST_LDFLAGS += $(_LDFLAGS)
+export TEST_EXE := ../bin/pjlib-test-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME)$(HOST_EXE)
+
+
+export CC_OUT CC AR RANLIB HOST_MV HOST_RM HOST_RMDIR HOST_MKDIR OBJEXT LD LDOUT
+
+###############################################################################
+# Main entry
+#
+# $(TARGET) is defined in os-$(OS_NAME).mak file in current directory.
+#
+
+all: $(TARGETS)
+
+doc:
+ cd .. && doxygen docs/doxygen.cfg
+
+print:
+ $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib print_lib
+ $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test print_bin
+
+depend:
+ $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib depend
+ $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test depend
+ echo '$(TEST_EXE): $(PJLIB_LIB)' >> .pjlib-test-$(MACHINE_NAME)-$(OS_NAME)-$(CC_NAME).depend
+
+
+.PHONY: dep depend pjlib pjlib-test clean realclean distclean
+
+dep: depend
+
+pjlib:
+ $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $(PJLIB_LIB)
+
+pjlib-test:
+ $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $(TEST_EXE)
+
+.PHONY: ../lib/pjlib.ko
+../lib/pjlib.ko:
+ echo Making $@
+ $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib $@
+
+.PHONY: ../lib/pjlib-test.ko
+../lib/pjlib-test.ko:
+ $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test $@
+
+clean:
+ $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib clean
+ $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test clean
+
+realclean:
+ $(MAKE) -f $(RULES_MAK) APP=PJLIB app=pjlib realclean
+ $(MAKE) -f $(RULES_MAK) APP=TEST app=pjlib-test realclean
+
+distclean: realclean
+
diff --git a/pjlib/build/os-linux-kernel.mak b/pjlib/build/os-linux-kernel.mak
index 1503156a..934c8898 100644
--- a/pjlib/build/os-linux-kernel.mak
+++ b/pjlib/build/os-linux-kernel.mak
@@ -1,47 +1,47 @@
-#
-# OS specific configuration for Linux Kernel module target.
-#
-
-#
-# PJLIB_OBJS specified here are object files to be included in PJLIB
-# (the library) for this specific operating system. Object files common
-# to all operating systems should go in Makefile instead.
-#
-export PJLIB_OBJS += compat/sigjmp.o compat/setjmp_i386.o \
- compat/longjmp_i386.o compat/string.o \
- addr_resolv_linux_kernel.o \
- guid_simple.o \
- log_writer_printk.o pool_policy_kmalloc.o \
- os_error_linux_kernel.o os_core_linux_kernel.o \
- os_time_linux_kernel.o os_timestamp_common.o \
- os_timestamp_linux_kernel.o \
- sock_linux_kernel.o sock_select.o
-
-# For IOQueue, we can use either epoll or select
-export PJLIB_OBJS += ioqueue_epoll.o
-#export PJLIB_OBJS += ioqueue_select.o
-
-#
-# TEST_OBJS are operating system specific object files to be included in
-# the test application.
-#
-export TEST_OBJS += main_mod.o
-
-#
-# Additional CFLAGS
-#
-export TEST_CFLAGS += -msoft-float
-
-#
-# Additional LD_FLAGS for this target.
-#
-export TEST_LDFLAGS += -lgcc
-
-
-#
-# TARGETS are make targets in the Makefile, to be executed for this given
-# operating system.
-#
-export TARGETS := ../lib/pjlib.ko ../lib/pjlib-test.ko
-
-
+#
+# OS specific configuration for Linux Kernel module target.
+#
+
+#
+# PJLIB_OBJS specified here are object files to be included in PJLIB
+# (the library) for this specific operating system. Object files common
+# to all operating systems should go in Makefile instead.
+#
+export PJLIB_OBJS += compat/sigjmp.o compat/setjmp_i386.o \
+ compat/longjmp_i386.o compat/string.o \
+ addr_resolv_linux_kernel.o \
+ guid_simple.o \
+ log_writer_printk.o pool_policy_kmalloc.o \
+ os_error_linux_kernel.o os_core_linux_kernel.o \
+ os_time_linux_kernel.o os_timestamp_common.o \
+ os_timestamp_linux_kernel.o \
+ sock_linux_kernel.o sock_select.o
+
+# For IOQueue, we can use either epoll or select
+export PJLIB_OBJS += ioqueue_epoll.o
+#export PJLIB_OBJS += ioqueue_select.o
+
+#
+# TEST_OBJS are operating system specific object files to be included in
+# the test application.
+#
+export TEST_OBJS += main_mod.o
+
+#
+# Additional CFLAGS
+#
+export TEST_CFLAGS += -msoft-float
+
+#
+# Additional LD_FLAGS for this target.
+#
+export TEST_LDFLAGS += -lgcc
+
+
+#
+# TARGETS are make targets in the Makefile, to be executed for this given
+# operating system.
+#
+export TARGETS := ../lib/pjlib.ko ../lib/pjlib-test.ko
+
+
diff --git a/pjlib/build/os-linux.mak b/pjlib/build/os-linux.mak
index 41dff534..fd9fc307 100644
--- a/pjlib/build/os-linux.mak
+++ b/pjlib/build/os-linux.mak
@@ -1,36 +1,36 @@
-#
-# OS specific configuration for Linux OS target.
-#
-
-#
-# PJLIB_OBJS specified here are object files to be included in PJLIB
-# (the library) for this specific operating system. Object files common
-# to all operating systems should go in Makefile instead.
-#
-export PJLIB_OBJS += addr_resolv_sock.o guid_simple.o \
- log_writer_stdout.o os_core_unix.o \
- os_error_unix.o os_time_ansi.o \
- os_timestamp_common.o os_timestamp_linux.o \
- os_time_ansi.o \
- pool_policy_malloc.o sock_bsd.o sock_select.o
-
-export PJLIB_OBJS += ioqueue_select.o
-#export PJLIB_OBJS += ioqueue_epoll.o
-
-#
-# TEST_OBJS are operating system specific object files to be included in
-# the test application.
-#
-export TEST_OBJS += main.o
-
-#
-# Additional LDFLAGS for pjlib-test
-#
-export TEST_LDFLAGS += -lm
-
-#
-# TARGETS are make targets in the Makefile, to be executed for this given
-# operating system.
-#
-export TARGETS = pjlib pjlib-test
-
+#
+# OS specific configuration for Linux OS target.
+#
+
+#
+# PJLIB_OBJS specified here are object files to be included in PJLIB
+# (the library) for this specific operating system. Object files common
+# to all operating systems should go in Makefile instead.
+#
+export PJLIB_OBJS += addr_resolv_sock.o guid_simple.o \
+ log_writer_stdout.o os_core_unix.o \
+ os_error_unix.o os_time_ansi.o \
+ os_timestamp_common.o os_timestamp_linux.o \
+ os_time_ansi.o \
+ pool_policy_malloc.o sock_bsd.o sock_select.o
+
+export PJLIB_OBJS += ioqueue_select.o
+#export PJLIB_OBJS += ioqueue_epoll.o
+
+#
+# TEST_OBJS are operating system specific object files to be included in
+# the test application.
+#
+export TEST_OBJS += main.o
+
+#
+# Additional LDFLAGS for pjlib-test
+#
+export TEST_LDFLAGS += -lm
+
+#
+# TARGETS are make targets in the Makefile, to be executed for this given
+# operating system.
+#
+export TARGETS = pjlib pjlib-test
+
diff --git a/pjlib/build/os-sunos.mak b/pjlib/build/os-sunos.mak
new file mode 100644
index 00000000..81ab64da
--- /dev/null
+++ b/pjlib/build/os-sunos.mak
@@ -0,0 +1,36 @@
+#
+# PJLIB OS specific configuration for SunOS target.
+#
+
+#
+# PJLIB_OBJS specified here are object files to be included in PJLIB
+# (the library) for this specific operating system. Object files common
+# to all operating systems should go in Makefile instead.
+#
+export PJLIB_OBJS += addr_resolv_sock.o guid_simple.o \
+ log_writer_stdout.o os_core_unix.o \
+ os_error_unix.o os_time_ansi.o \
+ os_timestamp_common.o os_timestamp_linux.o \
+ os_time_ansi.o \
+ pool_policy_malloc.o sock_bsd.o sock_select.o
+
+export PJLIB_OBJS += ioqueue_select.o
+#export PJLIB_OBJS += ioqueue_epoll.o
+
+#
+# TEST_OBJS are operating system specific object files to be included in
+# the test application.
+#
+export TEST_OBJS += main.o
+
+#
+# Additional LDFLAGS for pjlib-test
+#
+export TEST_LDFLAGS += -lm
+
+#
+# TARGETS are make targets in the Makefile, to be executed for this given
+# operating system.
+#
+export TARGETS = pjlib pjlib-test
+
diff --git a/pjlib/build/os-win32.mak b/pjlib/build/os-win32.mak
index fbe3a66c..7b236c6a 100644
--- a/pjlib/build/os-win32.mak
+++ b/pjlib/build/os-win32.mak
@@ -1,27 +1,27 @@
-#
-# OS specific configuration for Win32 OS target.
-#
-
-#
-# PJLIB_OBJS specified here are object files to be included in PJLIB
-# (the library) for this specific operating system. Object files common
-# to all operating systems should go in Makefile instead.
-#
-export PJLIB_OBJS += addr_resolv_sock.o guid_win32.o ioqueue_winnt.o \
- log_writer_stdout.o os_core_win32.o \
- os_error_win32.o os_time_ansi.o os_timestamp_common.o \
- os_timestamp_win32.o \
- pool_policy_malloc.o sock_bsd.o sock_select.o
-
-#
-# TEST_OBJS are operating system specific object files to be included in
-# the test application.
-#
-export TEST_OBJS += main.o
-
-#
-# TARGETS are make targets in the Makefile, to be executed for this given
-# operating system.
-#
-export TARGETS = pjlib pjlib-test
-
+#
+# OS specific configuration for Win32 OS target.
+#
+
+#
+# PJLIB_OBJS specified here are object files to be included in PJLIB
+# (the library) for this specific operating system. Object files common
+# to all operating systems should go in Makefile instead.
+#
+export PJLIB_OBJS += addr_resolv_sock.o guid_win32.o ioqueue_winnt.o \
+ log_writer_stdout.o os_core_win32.o \
+ os_error_win32.o os_time_ansi.o os_timestamp_common.o \
+ os_timestamp_win32.o \
+ pool_policy_malloc.o sock_bsd.o sock_select.o
+
+#
+# TEST_OBJS are operating system specific object files to be included in
+# the test application.
+#
+export TEST_OBJS += main.o
+
+#
+# TARGETS are make targets in the Makefile, to be executed for this given
+# operating system.
+#
+export TARGETS = pjlib pjlib-test
+
diff --git a/pjlib/build/pjlib_samples.mak b/pjlib/build/pjlib_samples.mak
index 21b42072..322cc212 100644
--- a/pjlib/build/pjlib_samples.mak
+++ b/pjlib/build/pjlib_samples.mak
@@ -1,35 +1,35 @@
-OUTDIR=.\output\pjlib-samples-i386-win32-vc6-$(MODE)
-
-SRCDIR=../src/pjlib-samples
-
-SAMPLES=$(OUTDIR)/except.exe \
- $(OUTDIR)/log.exe \
- $(OUTDIR)/list.exe \
-
-!IF "$(MODE)" == "debug"
-MODE_CFLAGS=/MTd
-!ELSE
-MODE_CFLAGS=/MT
-!ENDIF
-
-CFLAGS=/nologo /W4 $(MODE_CFLAGS) /DPJ_WIN32=1 /DPJ_M_I386=1 /I../include
-
-PJLIB=../lib/pjlib-i386-win32-vc6-$(MODE).lib
-
-DEPEND=$(PJLIB)
-LIBS=netapi32.lib mswsock.lib ws2_32.lib ole32.lib
-CL=cl.exe
-
-all: "$(OUTDIR)" $(SAMPLES)
-
-$(SAMPLES): "$(SRCDIR)/$(@B).c" $(DEPEND)
- $(CL) /Fe$@ \
- /Fo$(@R).obj \
- $(CFLAGS) \
- $** $(LIBS)
-
-"$(OUTDIR)" :
- @IF NOT EXIST "$(OUTDIR)" MKDIR "$(OUTDIR)"
-
-clean :
- @IF EXIST "$(OUTDIR)" DEL /Q "$(OUTDIR)\*.*" && RMDIR "$(OUTDIR)"
+OUTDIR=.\output\pjlib-samples-i386-win32-vc6-$(MODE)
+
+SRCDIR=../src/pjlib-samples
+
+SAMPLES=$(OUTDIR)/except.exe \
+ $(OUTDIR)/log.exe \
+ $(OUTDIR)/list.exe \
+
+!IF "$(MODE)" == "debug"
+MODE_CFLAGS=/MTd
+!ELSE
+MODE_CFLAGS=/MT
+!ENDIF
+
+CFLAGS=/nologo /W4 $(MODE_CFLAGS) /DPJ_WIN32=1 /DPJ_M_I386=1 /I../include
+
+PJLIB=../lib/pjlib-i386-win32-vc6-$(MODE).lib
+
+DEPEND=$(PJLIB)
+LIBS=netapi32.lib mswsock.lib ws2_32.lib ole32.lib
+CL=cl.exe
+
+all: "$(OUTDIR)" $(SAMPLES)
+
+$(SAMPLES): "$(SRCDIR)/$(@B).c" $(DEPEND)
+ $(CL) /Fe$@ \
+ /Fo$(@R).obj \
+ $(CFLAGS) \
+ $** $(LIBS)
+
+"$(OUTDIR)" :
+ @IF NOT EXIST "$(OUTDIR)" MKDIR "$(OUTDIR)"
+
+clean :
+ @IF EXIST "$(OUTDIR)" DEL /Q "$(OUTDIR)\*.*" && RMDIR "$(OUTDIR)"