From be752f9c9139f8d70d0296c6a9f49003071c8c3c Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周一, 24 12月 2012 23:29:54 +0800
Subject: [PATCH] Reorganize library

---
 .gitignore                         |    8 
 examples/common/scpi-def.h         |   18 +
 libscpi/inc/scpi/minimal.h         |    2 
 examples/test-interactive/Makefile |   20 +
 libscpi/src/error.c                |    8 
 libscpi/inc/scpi/scpi.h            |   13 
 libscpi/src/fifo.c                 |    4 
 libscpi/inc/scpi/constants.h       |    0 
 examples/common/scpi-def.c         |   79 -----
 libscpi/inc/scpi/debug.h           |    2 
 libscpi/src/ieee488.c              |    8 
 examples/test-tcp/Makefile         |   20 +
 libscpi/inc/scpi/ieee488.h         |    2 
 libscpi/src/units.c                |   10 
 libscpi/test/test_scpi_utils.c     |    3 
 libscpi/src/utils.h                |   24 +
 libscpi/inc/scpi/parser.h          |    4 
 libscpi/src/utils.c                |    2 
 libscpi/test/test_fifo.c           |    2 
 libscpi/Makefile                   |   89 ++++++
 libscpi/inc/scpi/units.h           |    2 
 libscpi/src/minimal.c              |   10 
 libscpi/inc/scpi/fifo.h            |    4 
 libscpi/src/parser.c               |    8 
 examples/test-interactive/main.c   |   92 +++++++
 /dev/null                          |   25 -
 libscpi/inc/scpi/error.h           |    2 
 libscpi/inc/scpi/types.h           |    0 
 examples/test-parser/Makefile      |   20 +
 examples/test-parser/main.c        |  122 +++++++++
 examples/test-tcp/main.c           |  122 +++++++++
 libscpi/src/debug.c                |    8 
 32 files changed, 572 insertions(+), 161 deletions(-)

diff --git a/.gitignore b/.gitignore
index d2ca1ec..ab6d275 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,10 +15,10 @@
 *.exe
 *.out
 *.app
+*.test
 
 # Backup files
 *~
-/netbeans/nbproject/private/
-/netbeans/build/Debug/
-/netbeans/dist/Debug/
-/netbeans/core
\ No newline at end of file
+/libscpi/obj/
+/libscpi/dist/
+
diff --git a/test-parser.c b/examples/common/scpi-def.c
similarity index 72%
rename from test-parser.c
rename to examples/common/scpi-def.c
index 6cc8b6c..0b9bfbd 100644
--- a/test-parser.c
+++ b/examples/common/scpi-def.c
@@ -26,7 +26,7 @@
  */
 
 /**
- * @file   main.c
+ * @file   scpi-def.c
  * @date   Thu Nov 15 10:58:45 UTC 2012
  * 
  * @brief  SCPI parser test
@@ -38,6 +38,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include "scpi/scpi.h"
+#include "scpi-def.h"
 
 scpi_result_t DMM_MeasureVoltageDcQ(scpi_t * context) {
     scpi_number_t param1, param2;
@@ -111,30 +112,11 @@
     SCPI_CMD_LIST_END
 };
 
-static size_t SCPI_Write(scpi_t * context, const char * data, size_t len) {
-    (void) context;
-    return fwrite(data, 1, len, stdout);
-}
-
-static int SCPI_Error(scpi_t * context, int_fast16_t err) {
-    (void) context;
-
-    fprintf(stderr, "**ERROR: %d, \"%s\"\r\n", (int32_t) err, SCPI_ErrorTranslate(err));
-    return 0;
-}
-
-static scpi_result_t SCPI_Srq(scpi_t * context) {
-    scpi_reg_val_t stb = SCPI_RegGet(context, SCPI_REG_STB);
-    fprintf(stderr, "**SRQ: 0x%X (%d)\r\n", stb, stb);
-    return SCPI_RES_OK;
-}
-
-
 static scpi_interface_t scpi_interface = {
     .write = SCPI_Write,
     .error = SCPI_Error,
-    .reset = NULL,
-    .test = NULL,
+    .reset = SCPI_Reset,
+    .test = SCPI_Test,
     .srq = SCPI_Srq,
 };
 
@@ -155,56 +137,3 @@
     .units = scpi_units_def,
     .special_numbers = scpi_special_numbers_def,
 };
-
-/*
- * 
- */
-int main(int argc, char** argv) {
-    (void) argc;
-    (void) argv;
-    int result;
-
-    SCPI_Init(&scpi_context);
-
-#define TEST_SCPI_INPUT(cmd)    result = SCPI_Input(&scpi_context, cmd, strlen(cmd))
-
-    TEST_SCPI_INPUT("*CLS\r\n");
-    TEST_SCPI_INPUT("*RST\r\n");
-    TEST_SCPI_INPUT("MEAS:volt:DC? 12,50;*OPC\r\n");
-    TEST_SCPI_INPUT("*IDN?\r\n");
-    TEST_SCPI_INPUT("SYST:VERS?");
-    TEST_SCPI_INPUT("\r\n*ID");
-    TEST_SCPI_INPUT("N?");
-    TEST_SCPI_INPUT(""); // emulate command timeout
-
-    TEST_SCPI_INPUT("*ESE\r\n"); // cause error -109, missing parameter
-    TEST_SCPI_INPUT("*ESE 0x20\r\n");
-
-    TEST_SCPI_INPUT("*SRE 0xFF\r\n");
-    
-    TEST_SCPI_INPUT("IDN?\r\n"); // cause error -113, undefined header
-
-    TEST_SCPI_INPUT("SYST:ERR?\r\n");
-    TEST_SCPI_INPUT("SYST:ERR?\r\n");
-    TEST_SCPI_INPUT("*STB?\r\n");
-    TEST_SCPI_INPUT("*ESR?\r\n");
-    TEST_SCPI_INPUT("*STB?\r\n");
-
-    TEST_SCPI_INPUT("meas:volt:dc? 0.01 V, Default\r\n");
-    TEST_SCPI_INPUT("meas:volt:dc?\r\n");
-    TEST_SCPI_INPUT("meas:volt:dc? def, 0.00001\r\n");
-    TEST_SCPI_INPUT("meas:volt:dc? 0.00001\r\n");
-
-
-    //printf("%.*s %s\r\n",  3, "asdadasdasdasdas", "b");
-    // interactive demo
-    //char smbuffer[10];
-    //while (1) {
-    //     fgets(smbuffer, 10, stdin);
-    //     SCPI_Input(&scpi_context, smbuffer, strlen(smbuffer));
-    //}
-
-
-    return (EXIT_SUCCESS);
-}
-
diff --git a/examples/common/scpi-def.h b/examples/common/scpi-def.h
new file mode 100644
index 0000000..646a653
--- /dev/null
+++ b/examples/common/scpi-def.h
@@ -0,0 +1,18 @@
+#ifndef __SCPI_DEF_H_
+#define __SCPI_DEF_H_
+
+#include "scpi/scpi.h"
+
+extern scpi_t scpi_context;
+
+size_t SCPI_Write(scpi_t * context, const char * data, size_t len);
+int SCPI_Error(scpi_t * context, int_fast16_t err);
+scpi_result_t SCPI_Srq(scpi_t * context);
+scpi_result_t SCPI_Reset(scpi_t * context);
+scpi_result_t SCPI_Test(scpi_t * context);
+
+
+
+
+#endif // __SCPI_DEF_H_
+
diff --git a/examples/test-interactive/Makefile b/examples/test-interactive/Makefile
new file mode 100644
index 0000000..1d225a9
--- /dev/null
+++ b/examples/test-interactive/Makefile
@@ -0,0 +1,20 @@
+
+PROG = test
+
+SRCS = main.c ../common/scpi-def.c
+CFLAGS += -Wextra -I ../../libscpi/inc/
+LDFLAGS += ../../libscpi/dist/libscpi.a
+
+
+all: $(PROG)
+
+OBJS = $(SRCS:.c=.o)
+
+.c.o:
+	$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
+
+$(PROG): $(OBJS)
+	$(CC) -o $@ $(OBJS) $(LDFLAGS)
+
+clean:
+	$(RM) $(PROG) $(OBJS)
diff --git a/examples/test-interactive/main.c b/examples/test-interactive/main.c
new file mode 100644
index 0000000..6fd1d71
--- /dev/null
+++ b/examples/test-interactive/main.c
@@ -0,0 +1,92 @@
+/*-
+ * Copyright (c) 2012-2013 Jan Breuer,
+ *
+ * All Rights Reserved
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * @file   main.c
+ * @date   Thu Nov 15 10:58:45 UTC 2012
+ * 
+ * @brief  SCPI parser test
+ * 
+ * 
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "scpi/scpi.h"
+#include "../common/scpi-def.h"
+
+size_t SCPI_Write(scpi_t * context, const char * data, size_t len) {
+    (void) context;
+    return fwrite(data, 1, len, stdout);
+}
+
+int SCPI_Error(scpi_t * context, int_fast16_t err) {
+    (void) context;
+
+    fprintf(stderr, "**ERROR: %d, \"%s\"\r\n", (int32_t) err, SCPI_ErrorTranslate(err));
+    return 0;
+}
+
+scpi_result_t SCPI_Srq(scpi_t * context) {
+    scpi_reg_val_t stb = SCPI_RegGet(context, SCPI_REG_STB);
+    fprintf(stderr, "**SRQ: 0x%X (%d)\r\n", stb, stb);
+    return SCPI_RES_OK;
+}
+
+scpi_result_t SCPI_Test(scpi_t * context) {
+    fprintf(stderr, "**Test\r\n");
+    return SCPI_RES_OK;
+}
+
+scpi_result_t SCPI_Reset(scpi_t * context) {
+    fprintf(stderr, "**Reset\r\n");
+    return SCPI_RES_OK;
+}
+
+/*
+ * 
+ */
+int main(int argc, char** argv) {
+    (void) argc;
+    (void) argv;
+    int result;
+
+    SCPI_Init(&scpi_context);
+
+    //printf("%.*s %s\r\n",  3, "asdadasdasdasdas", "b");
+    printf("SCPI Interactive demo\r\n");
+    char smbuffer[10];
+    while (1) {
+         fgets(smbuffer, 10, stdin);
+         SCPI_Input(&scpi_context, smbuffer, strlen(smbuffer));
+    }
+
+
+    return (EXIT_SUCCESS);
+}
+
diff --git a/examples/test-parser/Makefile b/examples/test-parser/Makefile
new file mode 100644
index 0000000..1d225a9
--- /dev/null
+++ b/examples/test-parser/Makefile
@@ -0,0 +1,20 @@
+
+PROG = test
+
+SRCS = main.c ../common/scpi-def.c
+CFLAGS += -Wextra -I ../../libscpi/inc/
+LDFLAGS += ../../libscpi/dist/libscpi.a
+
+
+all: $(PROG)
+
+OBJS = $(SRCS:.c=.o)
+
+.c.o:
+	$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
+
+$(PROG): $(OBJS)
+	$(CC) -o $@ $(OBJS) $(LDFLAGS)
+
+clean:
+	$(RM) $(PROG) $(OBJS)
diff --git a/examples/test-parser/main.c b/examples/test-parser/main.c
new file mode 100644
index 0000000..d5e3553
--- /dev/null
+++ b/examples/test-parser/main.c
@@ -0,0 +1,122 @@
+/*-
+ * Copyright (c) 2012-2013 Jan Breuer,
+ *
+ * All Rights Reserved
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * @file   main.c
+ * @date   Thu Nov 15 10:58:45 UTC 2012
+ * 
+ * @brief  SCPI parser test
+ * 
+ * 
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "scpi/scpi.h"
+#include "../common/scpi-def.h"
+
+size_t SCPI_Write(scpi_t * context, const char * data, size_t len) {
+    (void) context;
+    return fwrite(data, 1, len, stdout);
+}
+
+int SCPI_Error(scpi_t * context, int_fast16_t err) {
+    (void) context;
+
+    fprintf(stderr, "**ERROR: %d, \"%s\"\r\n", (int32_t) err, SCPI_ErrorTranslate(err));
+    return 0;
+}
+
+scpi_result_t SCPI_Srq(scpi_t * context) {
+    scpi_reg_val_t stb = SCPI_RegGet(context, SCPI_REG_STB);
+    fprintf(stderr, "**SRQ: 0x%X (%d)\r\n", stb, stb);
+    return SCPI_RES_OK;
+}
+
+scpi_result_t SCPI_Test(scpi_t * context) {
+    fprintf(stderr, "**Test\r\n");
+    return SCPI_RES_OK;
+}
+
+scpi_result_t SCPI_Reset(scpi_t * context) {
+    fprintf(stderr, "**Reset\r\n");
+    return SCPI_RES_OK;
+}
+
+/*
+ * 
+ */
+int main(int argc, char** argv) {
+    (void) argc;
+    (void) argv;
+    int result;
+
+    SCPI_Init(&scpi_context);
+
+#define TEST_SCPI_INPUT(cmd)    result = SCPI_Input(&scpi_context, cmd, strlen(cmd))
+
+    TEST_SCPI_INPUT("*CLS\r\n");
+    TEST_SCPI_INPUT("*RST\r\n");
+    TEST_SCPI_INPUT("MEAS:volt:DC? 12,50;*OPC\r\n");
+    TEST_SCPI_INPUT("*IDN?\r\n");
+    TEST_SCPI_INPUT("SYST:VERS?");
+    TEST_SCPI_INPUT("\r\n*ID");
+    TEST_SCPI_INPUT("N?");
+    TEST_SCPI_INPUT(""); // emulate command timeout
+
+    TEST_SCPI_INPUT("*ESE\r\n"); // cause error -109, missing parameter
+    TEST_SCPI_INPUT("*ESE 0x20\r\n");
+
+    TEST_SCPI_INPUT("*SRE 0xFF\r\n");
+    
+    TEST_SCPI_INPUT("IDN?\r\n"); // cause error -113, undefined header
+
+    TEST_SCPI_INPUT("SYST:ERR?\r\n");
+    TEST_SCPI_INPUT("SYST:ERR?\r\n");
+    TEST_SCPI_INPUT("*STB?\r\n");
+    TEST_SCPI_INPUT("*ESR?\r\n");
+    TEST_SCPI_INPUT("*STB?\r\n");
+
+    TEST_SCPI_INPUT("meas:volt:dc? 0.01 V, Default\r\n");
+    TEST_SCPI_INPUT("meas:volt:dc?\r\n");
+    TEST_SCPI_INPUT("meas:volt:dc? def, 0.00001\r\n");
+    TEST_SCPI_INPUT("meas:volt:dc? 0.00001\r\n");
+
+
+    //printf("%.*s %s\r\n",  3, "asdadasdasdasdas", "b");
+    // interactive demo
+    //char smbuffer[10];
+    //while (1) {
+    //     fgets(smbuffer, 10, stdin);
+    //     SCPI_Input(&scpi_context, smbuffer, strlen(smbuffer));
+    //}
+
+
+    return (EXIT_SUCCESS);
+}
+
diff --git a/examples/test-tcp/Makefile b/examples/test-tcp/Makefile
new file mode 100644
index 0000000..1d225a9
--- /dev/null
+++ b/examples/test-tcp/Makefile
@@ -0,0 +1,20 @@
+
+PROG = test
+
+SRCS = main.c ../common/scpi-def.c
+CFLAGS += -Wextra -I ../../libscpi/inc/
+LDFLAGS += ../../libscpi/dist/libscpi.a
+
+
+all: $(PROG)
+
+OBJS = $(SRCS:.c=.o)
+
+.c.o:
+	$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
+
+$(PROG): $(OBJS)
+	$(CC) -o $@ $(OBJS) $(LDFLAGS)
+
+clean:
+	$(RM) $(PROG) $(OBJS)
diff --git a/examples/test-tcp/main.c b/examples/test-tcp/main.c
new file mode 100644
index 0000000..d5e3553
--- /dev/null
+++ b/examples/test-tcp/main.c
@@ -0,0 +1,122 @@
+/*-
+ * Copyright (c) 2012-2013 Jan Breuer,
+ *
+ * All Rights Reserved
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * @file   main.c
+ * @date   Thu Nov 15 10:58:45 UTC 2012
+ * 
+ * @brief  SCPI parser test
+ * 
+ * 
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "scpi/scpi.h"
+#include "../common/scpi-def.h"
+
+size_t SCPI_Write(scpi_t * context, const char * data, size_t len) {
+    (void) context;
+    return fwrite(data, 1, len, stdout);
+}
+
+int SCPI_Error(scpi_t * context, int_fast16_t err) {
+    (void) context;
+
+    fprintf(stderr, "**ERROR: %d, \"%s\"\r\n", (int32_t) err, SCPI_ErrorTranslate(err));
+    return 0;
+}
+
+scpi_result_t SCPI_Srq(scpi_t * context) {
+    scpi_reg_val_t stb = SCPI_RegGet(context, SCPI_REG_STB);
+    fprintf(stderr, "**SRQ: 0x%X (%d)\r\n", stb, stb);
+    return SCPI_RES_OK;
+}
+
+scpi_result_t SCPI_Test(scpi_t * context) {
+    fprintf(stderr, "**Test\r\n");
+    return SCPI_RES_OK;
+}
+
+scpi_result_t SCPI_Reset(scpi_t * context) {
+    fprintf(stderr, "**Reset\r\n");
+    return SCPI_RES_OK;
+}
+
+/*
+ * 
+ */
+int main(int argc, char** argv) {
+    (void) argc;
+    (void) argv;
+    int result;
+
+    SCPI_Init(&scpi_context);
+
+#define TEST_SCPI_INPUT(cmd)    result = SCPI_Input(&scpi_context, cmd, strlen(cmd))
+
+    TEST_SCPI_INPUT("*CLS\r\n");
+    TEST_SCPI_INPUT("*RST\r\n");
+    TEST_SCPI_INPUT("MEAS:volt:DC? 12,50;*OPC\r\n");
+    TEST_SCPI_INPUT("*IDN?\r\n");
+    TEST_SCPI_INPUT("SYST:VERS?");
+    TEST_SCPI_INPUT("\r\n*ID");
+    TEST_SCPI_INPUT("N?");
+    TEST_SCPI_INPUT(""); // emulate command timeout
+
+    TEST_SCPI_INPUT("*ESE\r\n"); // cause error -109, missing parameter
+    TEST_SCPI_INPUT("*ESE 0x20\r\n");
+
+    TEST_SCPI_INPUT("*SRE 0xFF\r\n");
+    
+    TEST_SCPI_INPUT("IDN?\r\n"); // cause error -113, undefined header
+
+    TEST_SCPI_INPUT("SYST:ERR?\r\n");
+    TEST_SCPI_INPUT("SYST:ERR?\r\n");
+    TEST_SCPI_INPUT("*STB?\r\n");
+    TEST_SCPI_INPUT("*ESR?\r\n");
+    TEST_SCPI_INPUT("*STB?\r\n");
+
+    TEST_SCPI_INPUT("meas:volt:dc? 0.01 V, Default\r\n");
+    TEST_SCPI_INPUT("meas:volt:dc?\r\n");
+    TEST_SCPI_INPUT("meas:volt:dc? def, 0.00001\r\n");
+    TEST_SCPI_INPUT("meas:volt:dc? 0.00001\r\n");
+
+
+    //printf("%.*s %s\r\n",  3, "asdadasdasdasdas", "b");
+    // interactive demo
+    //char smbuffer[10];
+    //while (1) {
+    //     fgets(smbuffer, 10, stdin);
+    //     SCPI_Input(&scpi_context, smbuffer, strlen(smbuffer));
+    //}
+
+
+    return (EXIT_SUCCESS);
+}
+
diff --git a/libscpi/Makefile b/libscpi/Makefile
new file mode 100644
index 0000000..baa4567
--- /dev/null
+++ b/libscpi/Makefile
@@ -0,0 +1,89 @@
+
+VERSION = 0.3.0
+LIBNAME = scpi
+
+
+CFLAGS += -Wextra -O1 -g -fPIC -Iinc
+LDFLAGS += -Wl,--as-needed
+TESTFLAGS += -lcunit
+
+OBJDIR=obj
+DISTDIR=dist
+TESTDIR=test
+
+STATICLIBFLAGS = rcs
+SHAREDLIBFLAGS = $(LDFLAGS) -shared -Wl,-soname
+
+
+STATICLIB = lib$(LIBNAME).a
+SHAREDLIB = lib$(LIBNAME).so
+
+SHAREDLIBVER = $(SHAREDLIB).$(VERSION)
+
+SRCS = $(addprefix src/, \
+	debug.c error.c fifo.c ieee488.c \
+	minimal.c parser.c units.c utils.c \
+	)
+
+OBJS = $(addprefix $(OBJDIR)/, $(notdir $(SRCS:.c=.o)))
+
+HDRS = $(addprefix inc/scpi/, \
+	scpi.h constants.h debug.h error.h \
+	fifo.h ieee488.h minimal.h parser.h \
+	types.h units.h \
+	) src/utils.h
+
+
+TESTS = $(addprefix test/, \
+	test_fifo.c test_scpi_utils.c \
+	)
+
+TESTS_OBJS = $(TESTS:.c=.o)
+TESTS_BINS = $(TESTS_OBJS:.o=.test)
+
+.PHONY: all clean static shared test
+
+all: static shared
+
+
+$(OBJDIR):
+	mkdir -p $@
+
+$(DISTDIR):
+	mkdir -p $@
+
+$(OBJDIR)/%.o: src/%.c
+	$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
+
+$(DISTDIR)/$(STATICLIB): $(OBJS)
+	$(AR) $(STATICLIBFLAGS) $(DISTDIR)/$(STATICLIB) $(OBJS)
+
+$(DISTDIR)/$(SHAREDLIBVER): $(OBJS)
+	$(CC) $(SHAREDLIBFLAGS),$(SHAREDLIB) -o $(DISTDIR)/$(SHAREDLIBVER) $(OBJS)
+
+$(DISTDIR)/$(SHAREDLIB): $(DISTDIR)/$(SHAREDLIBVER)
+	ln -s $(SHAREDLIBVER) $(DISTDIR)/$(SHAREDLIB)
+
+static: $(DISTDIR)/$(STATICLIB)
+
+shared: $(DISTDIR)/$(SHAREDLIB)
+
+
+$(OBJS): $(HDRS) $(DISTDIR) $(OBJDIR)
+
+clean:
+	$(RM) -r $(OBJDIR) $(DISTDIR) $(TESTS_BINS) $(TESTS_OBJS)
+
+
+test: static $(TESTS_BINS)
+	for t in $(TESTS_BINS); do ./$$t; done
+
+
+$(TESTDIR)/%.o: $(TESTDIR)/%.c
+	$(CC) -c $(CFLAGS) $(CPPFLAGS) -o $@ $<
+
+$(TESTDIR)/%.test: $(TESTDIR)/%.o
+	$(CC) $(TESTFLAGS) $< $(DISTDIR)/$(STATICLIB) -o $@ $(LDFLAGS)
+
+
+
diff --git a/scpi/scpi_constants.h b/libscpi/inc/scpi/constants.h
similarity index 100%
rename from scpi/scpi_constants.h
rename to libscpi/inc/scpi/constants.h
diff --git a/scpi/scpi_debug.h b/libscpi/inc/scpi/debug.h
similarity index 98%
rename from scpi/scpi_debug.h
rename to libscpi/inc/scpi/debug.h
index f202f2a..063d94e 100644
--- a/scpi/scpi_debug.h
+++ b/libscpi/inc/scpi/debug.h
@@ -37,7 +37,7 @@
 #ifndef SCPI_DEBUG_H
 #define	SCPI_DEBUG_H
 
-#include "scpi_types.h"
+#include "scpi/types.h"
 
 #ifdef	__cplusplus
 extern "C" {
diff --git a/scpi/scpi_error.h b/libscpi/inc/scpi/error.h
similarity index 98%
rename from scpi/scpi_error.h
rename to libscpi/inc/scpi/error.h
index 5d8315e..b2b7c9d 100644
--- a/scpi/scpi_error.h
+++ b/libscpi/inc/scpi/error.h
@@ -37,7 +37,7 @@
 #ifndef SCPI_ERROR_H
 #define	SCPI_ERROR_H
 
-#include "scpi_types.h"
+#include "scpi/types.h"
 
 #ifdef	__cplusplus
 extern "C" {
diff --git a/scpi/scpi_fifo.h b/libscpi/inc/scpi/fifo.h
similarity index 98%
rename from scpi/scpi_fifo.h
rename to libscpi/inc/scpi/fifo.h
index a798641..1ba3a93 100644
--- a/scpi/scpi_fifo.h
+++ b/libscpi/inc/scpi/fifo.h
@@ -37,7 +37,7 @@
 #ifndef SCPI_FIFO_H
 #define	SCPI_FIFO_H
 
-#include "scpi_types.h"
+#include "scpi/types.h"
 
 #ifdef	__cplusplus
 extern "C" {
@@ -64,4 +64,4 @@
 }
 #endif
 
-#endif	/* SCPI_FIFO_H */
\ No newline at end of file
+#endif	/* SCPI_FIFO_H */
diff --git a/scpi/scpi_ieee488.h b/libscpi/inc/scpi/ieee488.h
similarity index 98%
rename from scpi/scpi_ieee488.h
rename to libscpi/inc/scpi/ieee488.h
index 2cffcde..b7eee81 100644
--- a/scpi/scpi_ieee488.h
+++ b/libscpi/inc/scpi/ieee488.h
@@ -37,7 +37,7 @@
 #ifndef SCPI_IEEE488_H
 #define	SCPI_IEEE488_H
 
-#include "scpi_types.h"
+#include "scpi/types.h"
 
 scpi_result_t SCPI_CoreCls(scpi_t * context);
 scpi_result_t SCPI_CoreEse(scpi_t * context);
diff --git a/scpi/scpi_minimal.h b/libscpi/inc/scpi/minimal.h
similarity index 98%
rename from scpi/scpi_minimal.h
rename to libscpi/inc/scpi/minimal.h
index ce3f4ee..77b2abd 100644
--- a/scpi/scpi_minimal.h
+++ b/libscpi/inc/scpi/minimal.h
@@ -37,7 +37,7 @@
 #ifndef SCPI_MINIMAL_H
 #define	SCPI_MINIMAL_H
 
-#include "scpi_types.h"
+#include "scpi/types.h"
 
 #ifdef	__cplusplus
 extern "C" {
diff --git a/scpi/scpi_parser.h b/libscpi/inc/scpi/parser.h
similarity index 97%
rename from scpi/scpi_parser.h
rename to libscpi/inc/scpi/parser.h
index 277a0e5..75c67f3 100644
--- a/scpi/scpi_parser.h
+++ b/libscpi/inc/scpi/parser.h
@@ -37,8 +37,8 @@
 #ifndef SCPI_PARSER_H
 #define	SCPI_PARSER_H
 
-#include "scpi_types.h"
-#include "scpi_debug.h"
+#include "scpi/types.h"
+#include "scpi/debug.h"
 
 #ifdef	__cplusplus
 extern "C" {
diff --git a/scpi/scpi.h b/libscpi/inc/scpi/scpi.h
similarity index 89%
rename from scpi/scpi.h
rename to libscpi/inc/scpi/scpi.h
index cc9bd79..7858488 100644
--- a/scpi/scpi.h
+++ b/libscpi/inc/scpi/scpi.h
@@ -37,13 +37,12 @@
 #ifndef SCPI_H
 #define	SCPI_H
 
-#include "scpi_parser.h"
-#include "scpi_ieee488.h"
-#include "scpi_error.h"
-#include "scpi_constants.h"
-#include "scpi_minimal.h"
-#include "scpi_utils.h"
-#include "scpi_units.h"
+#include "scpi/parser.h"
+#include "scpi/ieee488.h"
+#include "scpi/error.h"
+#include "scpi/constants.h"
+#include "scpi/minimal.h"
+#include "scpi/units.h"
 
 
 
diff --git a/scpi/scpi_types.h b/libscpi/inc/scpi/types.h
similarity index 100%
rename from scpi/scpi_types.h
rename to libscpi/inc/scpi/types.h
diff --git a/scpi/scpi_units.h b/libscpi/inc/scpi/units.h
similarity index 98%
rename from scpi/scpi_units.h
rename to libscpi/inc/scpi/units.h
index c02f947..8a06301 100644
--- a/scpi/scpi_units.h
+++ b/libscpi/inc/scpi/units.h
@@ -37,7 +37,7 @@
 #ifndef SCPI_UNITS_H
 #define	SCPI_UNITS_H
 
-#include "scpi_types.h"
+#include "scpi/types.h"
 
 #ifdef	__cplusplus
 extern "C" {
diff --git a/scpi/scpi_debug.c b/libscpi/src/debug.c
similarity index 92%
rename from scpi/scpi_debug.c
rename to libscpi/src/debug.c
index 49ff886..087fb1b 100644
--- a/scpi/scpi_debug.c
+++ b/libscpi/src/debug.c
@@ -35,7 +35,7 @@
  */
 
 #include <stdio.h>
-#include "scpi_debug.h"
+#include "scpi/debug.h"
 
 /**
  * Debug function: show current command and its parameters
@@ -43,9 +43,11 @@
  * @return 
  */
 bool_t SCPI_DebugCommand(scpi_t * context) {
+	size_t res;
 	printf("**DEBUG: %s (\"", context->paramlist.cmd->pattern);
-	fwrite(context->paramlist.parameters, 1, context->paramlist.length, stdout);
+	res = fwrite(context->paramlist.parameters, 1, context->paramlist.length, stdout);
+	(void)res;
 	printf("\" - %ld)\r\n", context->paramlist.length);
 	
 	return TRUE;
-}
\ No newline at end of file
+}
diff --git a/scpi/scpi_error.c b/libscpi/src/error.c
similarity index 97%
rename from scpi/scpi_error.c
rename to libscpi/src/error.c
index 0a7156f..798a71c 100644
--- a/scpi/scpi_error.c
+++ b/libscpi/src/error.c
@@ -36,10 +36,10 @@
 
 #include <stdint.h>
 
-#include "scpi_parser.h"
-#include "scpi_ieee488.h"
-#include "scpi_error.h"
-#include "scpi_fifo.h"
+#include "scpi/parser.h"
+#include "scpi/ieee488.h"
+#include "scpi/error.h"
+#include "scpi/fifo.h"
 
 // basic FIFO
 static fifo_t local_error_queue;
diff --git a/scpi/scpi_fifo.c b/libscpi/src/fifo.c
similarity index 96%
rename from scpi/scpi_fifo.c
rename to libscpi/src/fifo.c
index 8ad432b..7c80c9f 100644
--- a/scpi/scpi_fifo.c
+++ b/libscpi/src/fifo.c
@@ -1,5 +1,5 @@
 
-#include "scpi_fifo.h"
+#include "scpi/fifo.h"
 
 void fifo_init(fifo_t * fifo) {
     fifo->wr = 0;
@@ -43,4 +43,4 @@
         *value += (fifo->size + 1);
     }
     return TRUE;
-}
\ No newline at end of file
+}
diff --git a/scpi/scpi_ieee488.c b/libscpi/src/ieee488.c
similarity index 98%
rename from scpi/scpi_ieee488.c
rename to libscpi/src/ieee488.c
index 0c3fcc0..e493a93 100644
--- a/scpi/scpi_ieee488.c
+++ b/libscpi/src/ieee488.c
@@ -34,10 +34,10 @@
  * 
  */
 
-#include "scpi_parser.h"
-#include "scpi_ieee488.h"
-#include "scpi_error.h"
-#include "scpi_constants.h"
+#include "scpi/parser.h"
+#include "scpi/ieee488.h"
+#include "scpi/error.h"
+#include "scpi/constants.h"
 
 /**
  * Update register value
diff --git a/scpi/scpi_minimal.c b/libscpi/src/minimal.c
similarity index 95%
rename from scpi/scpi_minimal.c
rename to libscpi/src/minimal.c
index 6129e0a..c133fe6 100644
--- a/scpi/scpi_minimal.c
+++ b/libscpi/src/minimal.c
@@ -35,11 +35,11 @@
  */
 
 
-#include "scpi_parser.h"
-#include "scpi_minimal.h"
-#include "scpi_constants.h"
-#include "scpi_error.h"
-#include "scpi_ieee488.h"
+#include "scpi/parser.h"
+#include "scpi/minimal.h"
+#include "scpi/constants.h"
+#include "scpi/error.h"
+#include "scpi/ieee488.h"
 
 /**
  * Command stub function
diff --git a/scpi/scpi_parser.c b/libscpi/src/parser.c
similarity index 98%
rename from scpi/scpi_parser.c
rename to libscpi/src/parser.c
index cf6bebe..adf7e90 100644
--- a/scpi/scpi_parser.c
+++ b/libscpi/src/parser.c
@@ -37,9 +37,9 @@
 #include <ctype.h>
 #include <string.h>
 
-#include "scpi_parser.h"
-#include "scpi_utils.h"
-#include "scpi_error.h"
+#include "scpi/parser.h"
+#include "utils.h"
+#include "scpi/error.h"
 
 
 static size_t patternSeparatorPos(const char * pattern, size_t len);
@@ -618,4 +618,4 @@
     }
 
     return FALSE;
-}
\ No newline at end of file
+}
diff --git a/scpi/scpi_units.c b/libscpi/src/units.c
similarity index 98%
rename from scpi/scpi_units.c
rename to libscpi/src/units.c
index 5754109..a22f770 100644
--- a/scpi/scpi_units.c
+++ b/libscpi/src/units.c
@@ -35,10 +35,10 @@
  */
 
 #include <string.h>
-#include "scpi_parser.h"
-#include "scpi_units.h"
-#include "scpi_utils.h"
-#include "scpi_error.h"
+#include "scpi/parser.h"
+#include "scpi/units.h"
+#include "utils.h"
+#include "scpi/error.h"
 
 
 /*
@@ -274,4 +274,4 @@
     }
 
     return result;
-}
\ No newline at end of file
+}
diff --git a/scpi/scpi_utils.c b/libscpi/src/utils.c
similarity index 99%
rename from scpi/scpi_utils.c
rename to libscpi/src/utils.c
index 4546b35..9f9e2e7 100644
--- a/scpi/scpi_utils.c
+++ b/libscpi/src/utils.c
@@ -39,7 +39,7 @@
 #include <string.h>
 #include <ctype.h>
 
-#include "scpi_utils.h"
+#include "utils.h"
 
 static size_t patternSeparatorShortPos(const char * pattern, size_t len);
 
diff --git a/scpi/scpi_utils.h b/libscpi/src/utils.h
similarity index 80%
rename from scpi/scpi_utils.h
rename to libscpi/src/utils.h
index 7da171a..7429246 100644
--- a/scpi/scpi_utils.h
+++ b/libscpi/src/utils.h
@@ -38,22 +38,24 @@
 #define	SCPI_UTILS_H
 
 #include <stdint.h>
-#include "scpi_types.h"
+#include "scpi/types.h"
 
 #ifdef	__cplusplus
 extern "C" {
 #endif
 
-    char * strnpbrk(const char *str, size_t size, const char *set);
-    bool_t compareStr(const char * str1, size_t len1, const char * str2, size_t len2);
-    size_t longToStr(int32_t val, char * str, size_t len);
-    size_t doubleToStr(double val, char * str, size_t len);
-    size_t strToLong(const char * str, int32_t * val);
-    size_t strToDouble(const char * str, double * val);
-    bool_t locateText(const char * str1, size_t len1, char ** str2, size_t * len2);
-    bool_t locateStr(const char * str1, size_t len1, char ** str2, size_t * len2);
-    size_t skipWhitespace(const char * cmd, size_t len);
-    bool_t matchPattern(const char * pattern, size_t pattern_len, const char * str, size_t str_len);
+    #define LOCAL __attribute__((visibility ("hidden")))
+
+    char * strnpbrk(const char *str, size_t size, const char *set) LOCAL;
+    bool_t compareStr(const char * str1, size_t len1, const char * str2, size_t len2) LOCAL;
+    size_t longToStr(int32_t val, char * str, size_t len) LOCAL;
+    size_t doubleToStr(double val, char * str, size_t len) LOCAL;
+    size_t strToLong(const char * str, int32_t * val) LOCAL;
+    size_t strToDouble(const char * str, double * val) LOCAL;
+    bool_t locateText(const char * str1, size_t len1, char ** str2, size_t * len2) LOCAL;
+    bool_t locateStr(const char * str1, size_t len1, char ** str2, size_t * len2) LOCAL;
+    size_t skipWhitespace(const char * cmd, size_t len) LOCAL;
+    bool_t matchPattern(const char * pattern, size_t pattern_len, const char * str, size_t str_len) LOCAL;
 
 
 #define max(a,b) \
diff --git a/netbeans/tests/test_fifo.c b/libscpi/test/test_fifo.c
similarity index 98%
rename from netbeans/tests/test_fifo.c
rename to libscpi/test/test_fifo.c
index 6be41e7..fd6fa51 100644
--- a/netbeans/tests/test_fifo.c
+++ b/libscpi/test/test_fifo.c
@@ -9,7 +9,7 @@
 #include <stdlib.h>
 #include "CUnit/Basic.h"
 
-#include "../scpi/scpi_fifo.h"
+#include "scpi/fifo.h"
 
 /*
  * CUnit Test Suite
diff --git a/netbeans/tests/test_scpi_utils.c b/libscpi/test/test_scpi_utils.c
similarity index 98%
rename from netbeans/tests/test_scpi_utils.c
rename to libscpi/test/test_scpi_utils.c
index 44686ce..9d2b41a 100644
--- a/netbeans/tests/test_scpi_utils.c
+++ b/libscpi/test/test_scpi_utils.c
@@ -9,7 +9,8 @@
 #include <stdlib.h>
 #include "CUnit/Basic.h"
 
-#include "../scpi/scpi.h"
+#include "scpi/scpi.h"
+#include "../src/utils.h"
 
 /*
  * CUnit Test Suite
diff --git a/netbeans/.dep.inc b/netbeans/.dep.inc
deleted file mode 100644
index 4560e55..0000000
--- a/netbeans/.dep.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-# This code depends on make tool being used
-DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
-ifneq (${DEPFILES},)
-include ${DEPFILES}
-endif
diff --git a/netbeans/Makefile b/netbeans/Makefile
deleted file mode 100644
index ec9de69..0000000
--- a/netbeans/Makefile
+++ /dev/null
@@ -1,128 +0,0 @@
-#
-#  There exist several targets which are by default empty and which can be 
-#  used for execution of your targets. These targets are usually executed 
-#  before and after some main targets. They are: 
-#
-#     .build-pre:              called before 'build' target
-#     .build-post:             called after 'build' target
-#     .clean-pre:              called before 'clean' target
-#     .clean-post:             called after 'clean' target
-#     .clobber-pre:            called before 'clobber' target
-#     .clobber-post:           called after 'clobber' target
-#     .all-pre:                called before 'all' target
-#     .all-post:               called after 'all' target
-#     .help-pre:               called before 'help' target
-#     .help-post:              called after 'help' target
-#
-#  Targets beginning with '.' are not intended to be called on their own.
-#
-#  Main targets can be executed directly, and they are:
-#  
-#     build                    build a specific configuration
-#     clean                    remove built files from a configuration
-#     clobber                  remove all built files
-#     all                      build all configurations
-#     help                     print help mesage
-#  
-#  Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
-#  .help-impl are implemented in nbproject/makefile-impl.mk.
-#
-#  Available make variables:
-#
-#     CND_BASEDIR                base directory for relative paths
-#     CND_DISTDIR                default top distribution directory (build artifacts)
-#     CND_BUILDDIR               default top build directory (object files, ...)
-#     CONF                       name of current configuration
-#     CND_PLATFORM_${CONF}       platform name (current configuration)
-#     CND_ARTIFACT_DIR_${CONF}   directory of build artifact (current configuration)
-#     CND_ARTIFACT_NAME_${CONF}  name of build artifact (current configuration)
-#     CND_ARTIFACT_PATH_${CONF}  path to build artifact (current configuration)
-#     CND_PACKAGE_DIR_${CONF}    directory of package (current configuration)
-#     CND_PACKAGE_NAME_${CONF}   name of package (current configuration)
-#     CND_PACKAGE_PATH_${CONF}   path to package (current configuration)
-#
-# NOCDDL
-
-
-# Environment 
-MKDIR=mkdir
-CP=cp
-CCADMIN=CCadmin
-
-
-# build
-build: .build-post
-
-.build-pre:
-# Add your pre 'build' code here...
-
-.build-post: .build-impl
-# Add your post 'build' code here...
-
-
-# clean
-clean: .clean-post
-
-.clean-pre:
-# Add your pre 'clean' code here...
-
-.clean-post: .clean-impl
-# Add your post 'clean' code here...
-
-
-# clobber
-clobber: .clobber-post
-
-.clobber-pre:
-# Add your pre 'clobber' code here...
-
-.clobber-post: .clobber-impl
-# Add your post 'clobber' code here...
-
-
-# all
-all: .all-post
-
-.all-pre:
-# Add your pre 'all' code here...
-
-.all-post: .all-impl
-# Add your post 'all' code here...
-
-
-# build tests
-build-tests: .build-tests-post
-
-.build-tests-pre:
-# Add your pre 'build-tests' code here...
-
-.build-tests-post: .build-tests-impl
-# Add your post 'build-tests' code here...
-
-
-# run tests
-test: .test-post
-
-.test-pre:
-# Add your pre 'test' code here...
-
-.test-post: .test-impl
-# Add your post 'test' code here...
-
-
-# help
-help: .help-post
-
-.help-pre:
-# Add your pre 'help' code here...
-
-.help-post: .help-impl
-# Add your post 'help' code here...
-
-
-
-# include project implementation makefile
-include nbproject/Makefile-impl.mk
-
-# include project make variables
-include nbproject/Makefile-variables.mk
diff --git a/netbeans/nbproject/Makefile-Debug.mk b/netbeans/nbproject/Makefile-Debug.mk
deleted file mode 100644
index 045bf71..0000000
--- a/netbeans/nbproject/Makefile-Debug.mk
+++ /dev/null
@@ -1,288 +0,0 @@
-#
-# Generated Makefile - do not edit!
-#
-# Edit the Makefile in the project folder instead (../Makefile). Each target
-# has a -pre and a -post target defined where you can add customized code.
-#
-# This makefile implements configuration specific macros and targets.
-
-
-# Environment
-MKDIR=mkdir
-CP=cp
-GREP=grep
-NM=nm
-CCADMIN=CCadmin
-RANLIB=ranlib
-CC=gcc
-CCC=g++
-CXX=g++
-FC=gfortran
-AS=as
-
-# Macros
-CND_PLATFORM=GNU-Linux-x86
-CND_CONF=Debug
-CND_DISTDIR=dist
-CND_BUILDDIR=build
-
-# Include project Makefile
-include Makefile
-
-# Object Directory
-OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
-
-# Object Files
-OBJECTFILES= \
-	${OBJECTDIR}/_ext/760632520/scpi_debug.o \
-	${OBJECTDIR}/_ext/760632520/scpi_utils.o \
-	${OBJECTDIR}/_ext/760632520/scpi_fifo.o \
-	${OBJECTDIR}/_ext/760632520/scpi_ieee488.o \
-	${OBJECTDIR}/_ext/760632520/scpi_minimal.o \
-	${OBJECTDIR}/_ext/1472/test-parser.o \
-	${OBJECTDIR}/_ext/760632520/scpi_parser.o \
-	${OBJECTDIR}/_ext/760632520/scpi_units.o \
-	${OBJECTDIR}/_ext/760632520/scpi_error.o
-
-# Test Directory
-TESTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tests
-
-# Test Files
-TESTFILES= \
-	${TESTDIR}/TestFiles/f2 \
-	${TESTDIR}/TestFiles/f3
-
-# C Compiler Flags
-CFLAGS=-Wextra -g3 -O0
-
-# CC Compiler Flags
-CCFLAGS=
-CXXFLAGS=
-
-# Fortran Compiler Flags
-FFLAGS=
-
-# Assembler Flags
-ASFLAGS=
-
-# Link Libraries and Options
-LDLIBSOPTIONS=-lcunit
-
-# Build Targets
-.build-conf: ${BUILD_SUBPROJECTS}
-	"${MAKE}"  -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/scpi_parser
-
-${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/scpi_parser: ${OBJECTFILES}
-	${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
-	${LINK.c} -g3 -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/scpi_parser ${OBJECTFILES} ${LDLIBSOPTIONS} 
-
-${OBJECTDIR}/_ext/760632520/scpi_debug.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_debug.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -Wall -I. -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_debug.o ../scpi/scpi_debug.c
-
-${OBJECTDIR}/_ext/760632520/scpi_utils.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_utils.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -Wall -I. -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_utils.o ../scpi/scpi_utils.c
-
-${OBJECTDIR}/_ext/760632520/scpi_fifo.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_fifo.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -Wall -I. -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_fifo.o ../scpi/scpi_fifo.c
-
-${OBJECTDIR}/_ext/760632520/scpi_ieee488.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_ieee488.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -Wall -I. -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_ieee488.o ../scpi/scpi_ieee488.c
-
-${OBJECTDIR}/_ext/760632520/scpi_minimal.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_minimal.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -Wall -I. -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_minimal.o ../scpi/scpi_minimal.c
-
-${OBJECTDIR}/_ext/1472/test-parser.o: nbproject/Makefile-${CND_CONF}.mk ../test-parser.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/1472
-	${RM} $@.d
-	$(COMPILE.c) -Wall -I. -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/1472/test-parser.o ../test-parser.c
-
-${OBJECTDIR}/_ext/760632520/scpi_parser.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_parser.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -Wall -I. -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_parser.o ../scpi/scpi_parser.c
-
-${OBJECTDIR}/_ext/760632520/scpi_units.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_units.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -Wall -I. -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_units.o ../scpi/scpi_units.c
-
-${OBJECTDIR}/_ext/760632520/scpi_error.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_error.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -Wall -I. -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_error.o ../scpi/scpi_error.c
-
-# Subprojects
-.build-subprojects:
-
-# Build Test Targets
-.build-tests-conf: .build-conf ${TESTFILES}
-${TESTDIR}/TestFiles/f2: ${TESTDIR}/tests/test_fifo.o ${OBJECTFILES:%.o=%_nomain.o}
-	${MKDIR} -p ${TESTDIR}/TestFiles
-	${LINK.c}   -o ${TESTDIR}/TestFiles/f2 $^ ${LDLIBSOPTIONS} -lcunit 
-
-${TESTDIR}/TestFiles/f3: ${TESTDIR}/tests/test_scpi_utils.o ${OBJECTFILES:%.o=%_nomain.o}
-	${MKDIR} -p ${TESTDIR}/TestFiles
-	${LINK.c}   -o ${TESTDIR}/TestFiles/f3 $^ ${LDLIBSOPTIONS} 
-
-
-${TESTDIR}/tests/test_fifo.o: tests/test_fifo.c 
-	${MKDIR} -p ${TESTDIR}/tests
-	${RM} $@.d
-	$(COMPILE.c) -Wall -I. -I. -MMD -MP -MF $@.d -o ${TESTDIR}/tests/test_fifo.o tests/test_fifo.c
-
-
-${TESTDIR}/tests/test_scpi_utils.o: tests/test_scpi_utils.c 
-	${MKDIR} -p ${TESTDIR}/tests
-	${RM} $@.d
-	$(COMPILE.c) -Wall -I. -I. -MMD -MP -MF $@.d -o ${TESTDIR}/tests/test_scpi_utils.o tests/test_scpi_utils.c
-
-
-${OBJECTDIR}/_ext/760632520/scpi_debug_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_debug.o ../scpi/scpi_debug.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_debug.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -Wall -I. -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_debug_nomain.o ../scpi/scpi_debug.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_debug.o ${OBJECTDIR}/_ext/760632520/scpi_debug_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_utils_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_utils.o ../scpi/scpi_utils.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_utils.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -Wall -I. -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_utils_nomain.o ../scpi/scpi_utils.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_utils.o ${OBJECTDIR}/_ext/760632520/scpi_utils_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_fifo_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_fifo.o ../scpi/scpi_fifo.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_fifo.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -Wall -I. -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_fifo_nomain.o ../scpi/scpi_fifo.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_fifo.o ${OBJECTDIR}/_ext/760632520/scpi_fifo_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_ieee488_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_ieee488.o ../scpi/scpi_ieee488.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_ieee488.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -Wall -I. -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_ieee488_nomain.o ../scpi/scpi_ieee488.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_ieee488.o ${OBJECTDIR}/_ext/760632520/scpi_ieee488_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_minimal_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_minimal.o ../scpi/scpi_minimal.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_minimal.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -Wall -I. -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_minimal_nomain.o ../scpi/scpi_minimal.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_minimal.o ${OBJECTDIR}/_ext/760632520/scpi_minimal_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/1472/test-parser_nomain.o: ${OBJECTDIR}/_ext/1472/test-parser.o ../test-parser.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/1472
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/1472/test-parser.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -Wall -I. -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/1472/test-parser_nomain.o ../test-parser.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/1472/test-parser.o ${OBJECTDIR}/_ext/1472/test-parser_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_parser_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_parser.o ../scpi/scpi_parser.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_parser.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -Wall -I. -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_parser_nomain.o ../scpi/scpi_parser.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_parser.o ${OBJECTDIR}/_ext/760632520/scpi_parser_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_units_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_units.o ../scpi/scpi_units.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_units.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -Wall -I. -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_units_nomain.o ../scpi/scpi_units.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_units.o ${OBJECTDIR}/_ext/760632520/scpi_units_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_error_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_error.o ../scpi/scpi_error.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_error.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -Wall -I. -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_error_nomain.o ../scpi/scpi_error.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_error.o ${OBJECTDIR}/_ext/760632520/scpi_error_nomain.o;\
-	fi
-
-# Run Test Targets
-.test-conf:
-	@if [ "${TEST}" = "" ]; \
-	then  \
-	    ${TESTDIR}/TestFiles/f2 || true; \
-	    ${TESTDIR}/TestFiles/f3 || true; \
-	else  \
-	    ./${TEST} || true; \
-	fi
-
-# Clean Targets
-.clean-conf: ${CLEAN_SUBPROJECTS}
-	${RM} -r ${CND_BUILDDIR}/${CND_CONF}
-	${RM} ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/scpi_parser
-
-# Subprojects
-.clean-subprojects:
-
-# Enable dependency checking
-.dep.inc: .depcheck-impl
-
-include .dep.inc
diff --git a/netbeans/nbproject/Makefile-Release.mk b/netbeans/nbproject/Makefile-Release.mk
deleted file mode 100644
index 0327c2b..0000000
--- a/netbeans/nbproject/Makefile-Release.mk
+++ /dev/null
@@ -1,288 +0,0 @@
-#
-# Generated Makefile - do not edit!
-#
-# Edit the Makefile in the project folder instead (../Makefile). Each target
-# has a -pre and a -post target defined where you can add customized code.
-#
-# This makefile implements configuration specific macros and targets.
-
-
-# Environment
-MKDIR=mkdir
-CP=cp
-GREP=grep
-NM=nm
-CCADMIN=CCadmin
-RANLIB=ranlib
-CC=gcc
-CCC=g++
-CXX=g++
-FC=gfortran
-AS=as
-
-# Macros
-CND_PLATFORM=GNU-Linux-x86
-CND_CONF=Release
-CND_DISTDIR=dist
-CND_BUILDDIR=build
-
-# Include project Makefile
-include Makefile
-
-# Object Directory
-OBJECTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}
-
-# Object Files
-OBJECTFILES= \
-	${OBJECTDIR}/_ext/760632520/scpi_debug.o \
-	${OBJECTDIR}/_ext/760632520/scpi_utils.o \
-	${OBJECTDIR}/_ext/760632520/scpi_fifo.o \
-	${OBJECTDIR}/_ext/760632520/scpi_ieee488.o \
-	${OBJECTDIR}/_ext/760632520/scpi_minimal.o \
-	${OBJECTDIR}/_ext/1472/test-parser.o \
-	${OBJECTDIR}/_ext/760632520/scpi_parser.o \
-	${OBJECTDIR}/_ext/760632520/scpi_units.o \
-	${OBJECTDIR}/_ext/760632520/scpi_error.o
-
-# Test Directory
-TESTDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tests
-
-# Test Files
-TESTFILES= \
-	${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/f1 \
-	${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/f2
-
-# C Compiler Flags
-CFLAGS=-Os -Wextra
-
-# CC Compiler Flags
-CCFLAGS=
-CXXFLAGS=
-
-# Fortran Compiler Flags
-FFLAGS=
-
-# Assembler Flags
-ASFLAGS=
-
-# Link Libraries and Options
-LDLIBSOPTIONS=
-
-# Build Targets
-.build-conf: ${BUILD_SUBPROJECTS}
-	"${MAKE}"  -f nbproject/Makefile-${CND_CONF}.mk ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/scpi_parser
-
-${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/scpi_parser: ${OBJECTFILES}
-	${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
-	${LINK.c} -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/scpi_parser ${OBJECTFILES} ${LDLIBSOPTIONS} 
-
-${OBJECTDIR}/_ext/760632520/scpi_debug.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_debug.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -O2 -Wall -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_debug.o ../scpi/scpi_debug.c
-
-${OBJECTDIR}/_ext/760632520/scpi_utils.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_utils.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -O2 -Wall -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_utils.o ../scpi/scpi_utils.c
-
-${OBJECTDIR}/_ext/760632520/scpi_fifo.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_fifo.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -O2 -Wall -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_fifo.o ../scpi/scpi_fifo.c
-
-${OBJECTDIR}/_ext/760632520/scpi_ieee488.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_ieee488.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -O2 -Wall -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_ieee488.o ../scpi/scpi_ieee488.c
-
-${OBJECTDIR}/_ext/760632520/scpi_minimal.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_minimal.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -O2 -Wall -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_minimal.o ../scpi/scpi_minimal.c
-
-${OBJECTDIR}/_ext/1472/test-parser.o: nbproject/Makefile-${CND_CONF}.mk ../test-parser.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/1472
-	${RM} $@.d
-	$(COMPILE.c) -O2 -Wall -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/1472/test-parser.o ../test-parser.c
-
-${OBJECTDIR}/_ext/760632520/scpi_parser.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_parser.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -O2 -Wall -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_parser.o ../scpi/scpi_parser.c
-
-${OBJECTDIR}/_ext/760632520/scpi_units.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_units.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -O2 -Wall -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_units.o ../scpi/scpi_units.c
-
-${OBJECTDIR}/_ext/760632520/scpi_error.o: nbproject/Makefile-${CND_CONF}.mk ../scpi/scpi_error.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	${RM} $@.d
-	$(COMPILE.c) -O2 -Wall -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_error.o ../scpi/scpi_error.c
-
-# Subprojects
-.build-subprojects:
-
-# Build Test Targets
-.build-tests-conf: .build-conf ${TESTFILES}
-${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/f1: ${TESTDIR}/tests/test_fifo.o ${OBJECTFILES:%.o=%_nomain.o}
-	${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
-	${LINK.c}   -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/f1 $^ ${LDLIBSOPTIONS} 
-
-${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/f2: ${TESTDIR}/tests/test_scpi_utils.o ${OBJECTFILES:%.o=%_nomain.o}
-	${MKDIR} -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}
-	${LINK.c}   -o ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/f2 $^ ${LDLIBSOPTIONS} 
-
-
-${TESTDIR}/tests/test_fifo.o: tests/test_fifo.c 
-	${MKDIR} -p ${TESTDIR}/tests
-	${RM} $@.d
-	$(COMPILE.c) -O2 -Wall -MMD -MP -MF $@.d -o ${TESTDIR}/tests/test_fifo.o tests/test_fifo.c
-
-
-${TESTDIR}/tests/test_scpi_utils.o: tests/test_scpi_utils.c 
-	${MKDIR} -p ${TESTDIR}/tests
-	${RM} $@.d
-	$(COMPILE.c) -O2 -Wall -MMD -MP -MF $@.d -o ${TESTDIR}/tests/test_scpi_utils.o tests/test_scpi_utils.c
-
-
-${OBJECTDIR}/_ext/760632520/scpi_debug_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_debug.o ../scpi/scpi_debug.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_debug.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -O2 -Wall -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_debug_nomain.o ../scpi/scpi_debug.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_debug.o ${OBJECTDIR}/_ext/760632520/scpi_debug_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_utils_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_utils.o ../scpi/scpi_utils.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_utils.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -O2 -Wall -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_utils_nomain.o ../scpi/scpi_utils.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_utils.o ${OBJECTDIR}/_ext/760632520/scpi_utils_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_fifo_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_fifo.o ../scpi/scpi_fifo.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_fifo.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -O2 -Wall -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_fifo_nomain.o ../scpi/scpi_fifo.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_fifo.o ${OBJECTDIR}/_ext/760632520/scpi_fifo_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_ieee488_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_ieee488.o ../scpi/scpi_ieee488.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_ieee488.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -O2 -Wall -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_ieee488_nomain.o ../scpi/scpi_ieee488.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_ieee488.o ${OBJECTDIR}/_ext/760632520/scpi_ieee488_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_minimal_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_minimal.o ../scpi/scpi_minimal.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_minimal.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -O2 -Wall -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_minimal_nomain.o ../scpi/scpi_minimal.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_minimal.o ${OBJECTDIR}/_ext/760632520/scpi_minimal_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/1472/test-parser_nomain.o: ${OBJECTDIR}/_ext/1472/test-parser.o ../test-parser.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/1472
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/1472/test-parser.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -O2 -Wall -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/1472/test-parser_nomain.o ../test-parser.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/1472/test-parser.o ${OBJECTDIR}/_ext/1472/test-parser_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_parser_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_parser.o ../scpi/scpi_parser.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_parser.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -O2 -Wall -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_parser_nomain.o ../scpi/scpi_parser.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_parser.o ${OBJECTDIR}/_ext/760632520/scpi_parser_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_units_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_units.o ../scpi/scpi_units.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_units.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -O2 -Wall -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_units_nomain.o ../scpi/scpi_units.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_units.o ${OBJECTDIR}/_ext/760632520/scpi_units_nomain.o;\
-	fi
-
-${OBJECTDIR}/_ext/760632520/scpi_error_nomain.o: ${OBJECTDIR}/_ext/760632520/scpi_error.o ../scpi/scpi_error.c 
-	${MKDIR} -p ${OBJECTDIR}/_ext/760632520
-	@NMOUTPUT=`${NM} ${OBJECTDIR}/_ext/760632520/scpi_error.o`; \
-	if (echo "$$NMOUTPUT" | ${GREP} '|main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T main$$') || \
-	   (echo "$$NMOUTPUT" | ${GREP} 'T _main$$'); \
-	then  \
-	    ${RM} $@.d;\
-	    $(COMPILE.c) -O2 -Wall -Dmain=__nomain -MMD -MP -MF $@.d -o ${OBJECTDIR}/_ext/760632520/scpi_error_nomain.o ../scpi/scpi_error.c;\
-	else  \
-	    ${CP} ${OBJECTDIR}/_ext/760632520/scpi_error.o ${OBJECTDIR}/_ext/760632520/scpi_error_nomain.o;\
-	fi
-
-# Run Test Targets
-.test-conf:
-	@if [ "${TEST}" = "" ]; \
-	then  \
-	    ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/f1 || true; \
-	    ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/f2 || true; \
-	else  \
-	    ./${TEST} || true; \
-	fi
-
-# Clean Targets
-.clean-conf: ${CLEAN_SUBPROJECTS}
-	${RM} -r ${CND_BUILDDIR}/${CND_CONF}
-	${RM} ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/scpi_parser
-
-# Subprojects
-.clean-subprojects:
-
-# Enable dependency checking
-.dep.inc: .depcheck-impl
-
-include .dep.inc
diff --git a/netbeans/nbproject/Makefile-impl.mk b/netbeans/nbproject/Makefile-impl.mk
deleted file mode 100644
index ea0545f..0000000
--- a/netbeans/nbproject/Makefile-impl.mk
+++ /dev/null
@@ -1,133 +0,0 @@
-# 
-# Generated Makefile - do not edit! 
-# 
-# Edit the Makefile in the project folder instead (../Makefile). Each target
-# has a pre- and a post- target defined where you can add customization code.
-#
-# This makefile implements macros and targets common to all configurations.
-#
-# NOCDDL
-
-
-# Building and Cleaning subprojects are done by default, but can be controlled with the SUB
-# macro. If SUB=no, subprojects will not be built or cleaned. The following macro
-# statements set BUILD_SUB-CONF and CLEAN_SUB-CONF to .build-reqprojects-conf
-# and .clean-reqprojects-conf unless SUB has the value 'no'
-SUB_no=NO
-SUBPROJECTS=${SUB_${SUB}}
-BUILD_SUBPROJECTS_=.build-subprojects
-BUILD_SUBPROJECTS_NO=
-BUILD_SUBPROJECTS=${BUILD_SUBPROJECTS_${SUBPROJECTS}}
-CLEAN_SUBPROJECTS_=.clean-subprojects
-CLEAN_SUBPROJECTS_NO=
-CLEAN_SUBPROJECTS=${CLEAN_SUBPROJECTS_${SUBPROJECTS}}
-
-
-# Project Name
-PROJECTNAME=netbeans
-
-# Active Configuration
-DEFAULTCONF=Debug
-CONF=${DEFAULTCONF}
-
-# All Configurations
-ALLCONFS=Debug Release 
-
-
-# build
-.build-impl: .build-pre .validate-impl .depcheck-impl
-	@#echo "=> Running $@... Configuration=$(CONF)"
-	"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf
-
-
-# clean
-.clean-impl: .clean-pre .validate-impl .depcheck-impl
-	@#echo "=> Running $@... Configuration=$(CONF)"
-	"${MAKE}" -f nbproject/Makefile-${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf
-
-
-# clobber 
-.clobber-impl: .clobber-pre .depcheck-impl
-	@#echo "=> Running $@..."
-	for CONF in ${ALLCONFS}; \
-	do \
-	    "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .clean-conf; \
-	done
-
-# all 
-.all-impl: .all-pre .depcheck-impl
-	@#echo "=> Running $@..."
-	for CONF in ${ALLCONFS}; \
-	do \
-	    "${MAKE}" -f nbproject/Makefile-$${CONF}.mk QMAKE=${QMAKE} SUBPROJECTS=${SUBPROJECTS} .build-conf; \
-	done
-
-# build tests
-.build-tests-impl: .build-impl .build-tests-pre
-	@#echo "=> Running $@... Configuration=$(CONF)"
-	"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .build-tests-conf
-
-# run tests
-.test-impl: .build-tests-impl .test-pre
-	@#echo "=> Running $@... Configuration=$(CONF)"
-	"${MAKE}" -f nbproject/Makefile-${CONF}.mk SUBPROJECTS=${SUBPROJECTS} .test-conf
-
-# dependency checking support
-.depcheck-impl:
-	@echo "# This code depends on make tool being used" >.dep.inc
-	@if [ -n "${MAKE_VERSION}" ]; then \
-	    echo "DEPFILES=\$$(wildcard \$$(addsuffix .d, \$${OBJECTFILES}))" >>.dep.inc; \
-	    echo "ifneq (\$${DEPFILES},)" >>.dep.inc; \
-	    echo "include \$${DEPFILES}" >>.dep.inc; \
-	    echo "endif" >>.dep.inc; \
-	else \
-	    echo ".KEEP_STATE:" >>.dep.inc; \
-	    echo ".KEEP_STATE_FILE:.make.state.\$${CONF}" >>.dep.inc; \
-	fi
-
-# configuration validation
-.validate-impl:
-	@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
-	then \
-	    echo ""; \
-	    echo "Error: can not find the makefile for configuration '${CONF}' in project ${PROJECTNAME}"; \
-	    echo "See 'make help' for details."; \
-	    echo "Current directory: " `pwd`; \
-	    echo ""; \
-	fi
-	@if [ ! -f nbproject/Makefile-${CONF}.mk ]; \
-	then \
-	    exit 1; \
-	fi
-
-
-# help
-.help-impl: .help-pre
-	@echo "This makefile supports the following configurations:"
-	@echo "    ${ALLCONFS}"
-	@echo ""
-	@echo "and the following targets:"
-	@echo "    build  (default target)"
-	@echo "    clean"
-	@echo "    clobber"
-	@echo "    all"
-	@echo "    help"
-	@echo ""
-	@echo "Makefile Usage:"
-	@echo "    make [CONF=<CONFIGURATION>] [SUB=no] build"
-	@echo "    make [CONF=<CONFIGURATION>] [SUB=no] clean"
-	@echo "    make [SUB=no] clobber"
-	@echo "    make [SUB=no] all"
-	@echo "    make help"
-	@echo ""
-	@echo "Target 'build' will build a specific configuration and, unless 'SUB=no',"
-	@echo "    also build subprojects."
-	@echo "Target 'clean' will clean a specific configuration and, unless 'SUB=no',"
-	@echo "    also clean subprojects."
-	@echo "Target 'clobber' will remove all built files from all configurations and,"
-	@echo "    unless 'SUB=no', also from subprojects."
-	@echo "Target 'all' will will build all configurations and, unless 'SUB=no',"
-	@echo "    also build subprojects."
-	@echo "Target 'help' prints this message."
-	@echo ""
-
diff --git a/netbeans/nbproject/Makefile-variables.mk b/netbeans/nbproject/Makefile-variables.mk
deleted file mode 100644
index 9b9b008..0000000
--- a/netbeans/nbproject/Makefile-variables.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# Generated - do not edit!
-#
-# NOCDDL
-#
-CND_BASEDIR=`pwd`
-CND_BUILDDIR=build
-CND_DISTDIR=dist
-# Debug configuration
-CND_PLATFORM_Debug=GNU-Linux-x86
-CND_ARTIFACT_DIR_Debug=dist/Debug/GNU-Linux-x86
-CND_ARTIFACT_NAME_Debug=scpi_parser
-CND_ARTIFACT_PATH_Debug=dist/Debug/GNU-Linux-x86/scpi_parser
-CND_PACKAGE_DIR_Debug=dist/Debug/GNU-Linux-x86/package
-CND_PACKAGE_NAME_Debug=scpi_parser.tar
-CND_PACKAGE_PATH_Debug=dist/Debug/GNU-Linux-x86/package/scpi_parser.tar
-# Release configuration
-CND_PLATFORM_Release=GNU-Linux-x86
-CND_ARTIFACT_DIR_Release=dist/Release/GNU-Linux-x86
-CND_ARTIFACT_NAME_Release=scpi_parser
-CND_ARTIFACT_PATH_Release=dist/Release/GNU-Linux-x86/scpi_parser
-CND_PACKAGE_DIR_Release=dist/Release/GNU-Linux-x86/package
-CND_PACKAGE_NAME_Release=scpi_parser.tar
-CND_PACKAGE_PATH_Release=dist/Release/GNU-Linux-x86/package/scpi_parser.tar
-#
-# include compiler specific variables
-#
-# dmake command
-ROOT:sh = test -f nbproject/private/Makefile-variables.mk || \
-	(mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk)
-#
-# gmake command
-.PHONY: $(shell test -f nbproject/private/Makefile-variables.mk || (mkdir -p nbproject/private && touch nbproject/private/Makefile-variables.mk))
-#
-include nbproject/private/Makefile-variables.mk
diff --git a/netbeans/nbproject/Package-Debug.bash b/netbeans/nbproject/Package-Debug.bash
deleted file mode 100644
index cd8cb2c..0000000
--- a/netbeans/nbproject/Package-Debug.bash
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash -x
-
-#
-# Generated - do not edit!
-#
-
-# Macros
-TOP=`pwd`
-CND_PLATFORM=GNU-Linux-x86
-CND_CONF=Debug
-CND_DISTDIR=dist
-CND_BUILDDIR=build
-NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
-TMPDIRNAME=tmp-packaging
-OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/scpi_parser
-OUTPUT_BASENAME=scpi_parser
-PACKAGE_TOP_DIR=scpi_parser/
-
-# Functions
-function checkReturnCode
-{
-    rc=$?
-    if [ $rc != 0 ]
-    then
-        exit $rc
-    fi
-}
-function makeDirectory
-# $1 directory path
-# $2 permission (optional)
-{
-    mkdir -p "$1"
-    checkReturnCode
-    if [ "$2" != "" ]
-    then
-      chmod $2 "$1"
-      checkReturnCode
-    fi
-}
-function copyFileToTmpDir
-# $1 from-file path
-# $2 to-file path
-# $3 permission
-{
-    cp "$1" "$2"
-    checkReturnCode
-    if [ "$3" != "" ]
-    then
-        chmod $3 "$2"
-        checkReturnCode
-    fi
-}
-
-# Setup
-cd "${TOP}"
-mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
-rm -rf ${NBTMPDIR}
-mkdir -p ${NBTMPDIR}
-
-# Copy files and create directories and links
-cd "${TOP}"
-makeDirectory "${NBTMPDIR}/scpi_parser/bin"
-copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
-
-
-# Generate tar file
-cd "${TOP}"
-rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/scpi_parser.tar
-cd ${NBTMPDIR}
-tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/scpi_parser.tar *
-checkReturnCode
-
-# Cleanup
-cd "${TOP}"
-rm -rf ${NBTMPDIR}
diff --git a/netbeans/nbproject/Package-Release.bash b/netbeans/nbproject/Package-Release.bash
deleted file mode 100644
index ee62e1f..0000000
--- a/netbeans/nbproject/Package-Release.bash
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/bin/bash -x
-
-#
-# Generated - do not edit!
-#
-
-# Macros
-TOP=`pwd`
-CND_PLATFORM=GNU-Linux-x86
-CND_CONF=Release
-CND_DISTDIR=dist
-CND_BUILDDIR=build
-NBTMPDIR=${CND_BUILDDIR}/${CND_CONF}/${CND_PLATFORM}/tmp-packaging
-TMPDIRNAME=tmp-packaging
-OUTPUT_PATH=${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/scpi_parser
-OUTPUT_BASENAME=scpi_parser
-PACKAGE_TOP_DIR=scpi_parser/
-
-# Functions
-function checkReturnCode
-{
-    rc=$?
-    if [ $rc != 0 ]
-    then
-        exit $rc
-    fi
-}
-function makeDirectory
-# $1 directory path
-# $2 permission (optional)
-{
-    mkdir -p "$1"
-    checkReturnCode
-    if [ "$2" != "" ]
-    then
-      chmod $2 "$1"
-      checkReturnCode
-    fi
-}
-function copyFileToTmpDir
-# $1 from-file path
-# $2 to-file path
-# $3 permission
-{
-    cp "$1" "$2"
-    checkReturnCode
-    if [ "$3" != "" ]
-    then
-        chmod $3 "$2"
-        checkReturnCode
-    fi
-}
-
-# Setup
-cd "${TOP}"
-mkdir -p ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package
-rm -rf ${NBTMPDIR}
-mkdir -p ${NBTMPDIR}
-
-# Copy files and create directories and links
-cd "${TOP}"
-makeDirectory "${NBTMPDIR}/scpi_parser/bin"
-copyFileToTmpDir "${OUTPUT_PATH}" "${NBTMPDIR}/${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}" 0755
-
-
-# Generate tar file
-cd "${TOP}"
-rm -f ${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/scpi_parser.tar
-cd ${NBTMPDIR}
-tar -vcf ../../../../${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/scpi_parser.tar *
-checkReturnCode
-
-# Cleanup
-cd "${TOP}"
-rm -rf ${NBTMPDIR}
diff --git a/netbeans/nbproject/configurations.xml b/netbeans/nbproject/configurations.xml
deleted file mode 100644
index ef32289..0000000
--- a/netbeans/nbproject/configurations.xml
+++ /dev/null
@@ -1,207 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configurationDescriptor version="80">
-  <logicalFolder name="root" displayName="root" projectFiles="true" kind="ROOT">
-    <logicalFolder name="HeaderFiles"
-                   displayName="Header Files"
-                   projectFiles="true">
-      <logicalFolder name="f1" displayName="scpi" projectFiles="true">
-        <itemPath>../scpi/scpi.h</itemPath>
-        <itemPath>../scpi/scpi_constants.h</itemPath>
-        <itemPath>../scpi/scpi_debug.h</itemPath>
-        <itemPath>../scpi/scpi_error.h</itemPath>
-        <itemPath>../scpi/scpi_fifo.h</itemPath>
-        <itemPath>../scpi/scpi_ieee488.h</itemPath>
-        <itemPath>../scpi/scpi_minimal.h</itemPath>
-        <itemPath>../scpi/scpi_parser.h</itemPath>
-        <itemPath>../scpi/scpi_types.h</itemPath>
-        <itemPath>../scpi/scpi_units.h</itemPath>
-        <itemPath>../scpi/scpi_utils.h</itemPath>
-      </logicalFolder>
-    </logicalFolder>
-    <logicalFolder name="ResourceFiles"
-                   displayName="Resource Files"
-                   projectFiles="true">
-    </logicalFolder>
-    <logicalFolder name="SourceFiles"
-                   displayName="Source Files"
-                   projectFiles="true">
-      <logicalFolder name="f1" displayName="scpi" projectFiles="true">
-        <itemPath>../scpi/scpi_debug.c</itemPath>
-        <itemPath>../scpi/scpi_error.c</itemPath>
-        <itemPath>../scpi/scpi_fifo.c</itemPath>
-        <itemPath>../scpi/scpi_ieee488.c</itemPath>
-        <itemPath>../scpi/scpi_minimal.c</itemPath>
-        <itemPath>../scpi/scpi_parser.c</itemPath>
-        <itemPath>../scpi/scpi_units.c</itemPath>
-        <itemPath>../scpi/scpi_utils.c</itemPath>
-      </logicalFolder>
-      <itemPath>../test-parser.c</itemPath>
-    </logicalFolder>
-    <logicalFolder name="TestFiles"
-                   displayName="Test Files"
-                   projectFiles="false"
-                   kind="TEST_LOGICAL_FOLDER">
-      <logicalFolder name="f1"
-                     displayName="FIFO test"
-                     projectFiles="true"
-                     kind="TEST">
-        <itemPath>tests/test_fifo.c</itemPath>
-      </logicalFolder>
-      <logicalFolder name="f3"
-                     displayName="Test SCPI utils"
-                     projectFiles="true"
-                     kind="TEST">
-        <itemPath>tests/test_scpi_utils.c</itemPath>
-      </logicalFolder>
-    </logicalFolder>
-    <logicalFolder name="ExternalFiles"
-                   displayName="Important Files"
-                   projectFiles="false"
-                   kind="IMPORTANT_FILES_FOLDER">
-      <itemPath>Makefile</itemPath>
-    </logicalFolder>
-  </logicalFolder>
-  <projectmakefile>Makefile</projectmakefile>
-  <confs>
-    <conf name="Debug" type="1">
-      <toolsSet>
-        <remote-sources-mode>LOCAL_SOURCES</remote-sources-mode>
-        <compilerSet>default</compilerSet>
-        <rebuildPropChanged>true</rebuildPropChanged>
-      </toolsSet>
-      <compileType>
-        <cTool>
-          <developmentMode>0</developmentMode>
-          <incDir>
-            <pElem>.</pElem>
-          </incDir>
-          <commandLine>-Wextra -g3 -O0</commandLine>
-          <warningLevel>2</warningLevel>
-        </cTool>
-        <ccTool>
-          <incDir>
-            <pElem>.</pElem>
-          </incDir>
-        </ccTool>
-        <linkerTool>
-          <output>${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/scpi_parser</output>
-          <linkerLibItems>
-            <linkerLibLibItem>cunit</linkerLibLibItem>
-          </linkerLibItems>
-          <commandLine>-g3</commandLine>
-        </linkerTool>
-      </compileType>
-      <packaging>
-        <packType>Tar</packType>
-        <output>${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/scpi_parser.tar</output>
-        <packFileList>
-          <packFileListElem type="File"
-                            to="${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}"
-                            from="${OUTPUT_PATH}"
-                            perm="755"
-                            owner="root"
-                            group="bin"/>
-        </packFileList>
-      </packaging>
-      <folder path="TestFiles/f1">
-        <cTool>
-          <incDir>
-            <pElem>.</pElem>
-          </incDir>
-        </cTool>
-        <ccTool>
-          <incDir>
-            <pElem>.</pElem>
-          </incDir>
-        </ccTool>
-        <linkerTool>
-          <output>${TESTDIR}/TestFiles/f2</output>
-          <linkerLibItems>
-            <linkerLibStdlibItem>CUnit</linkerLibStdlibItem>
-          </linkerLibItems>
-        </linkerTool>
-      </folder>
-      <folder path="TestFiles/f2">
-        <cTool>
-          <incDir>
-            <pElem>.</pElem>
-          </incDir>
-        </cTool>
-        <ccTool>
-          <incDir>
-            <pElem>.</pElem>
-          </incDir>
-        </ccTool>
-        <linkerTool>
-          <output>${TESTDIR}/TestFiles/f2</output>
-          <linkerLibItems>
-            <linkerLibStdlibItem>CUnit</linkerLibStdlibItem>
-          </linkerLibItems>
-        </linkerTool>
-      </folder>
-      <folder path="TestFiles/f3">
-        <cTool>
-          <incDir>
-            <pElem>.</pElem>
-          </incDir>
-        </cTool>
-        <ccTool>
-          <incDir>
-            <pElem>.</pElem>
-          </incDir>
-        </ccTool>
-        <linkerTool>
-          <output>${TESTDIR}/TestFiles/f3</output>
-        </linkerTool>
-      </folder>
-    </conf>
-    <conf name="Release" type="1">
-      <toolsSet>
-        <remote-sources-mode>LOCAL_SOURCES</remote-sources-mode>
-        <compilerSet>default</compilerSet>
-        <rebuildPropChanged>true</rebuildPropChanged>
-      </toolsSet>
-      <compileType>
-        <cTool>
-          <developmentMode>5</developmentMode>
-          <commandLine>-Os -Wextra</commandLine>
-          <warningLevel>2</warningLevel>
-        </cTool>
-        <ccTool>
-          <developmentMode>5</developmentMode>
-        </ccTool>
-        <fortranCompilerTool>
-          <developmentMode>5</developmentMode>
-        </fortranCompilerTool>
-        <asmTool>
-          <developmentMode>5</developmentMode>
-        </asmTool>
-        <linkerTool>
-          <output>${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/scpi_parser</output>
-        </linkerTool>
-      </compileType>
-      <packaging>
-        <packType>Tar</packType>
-        <output>${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/package/scpi_parser.tar</output>
-        <packFileList>
-          <packFileListElem type="File"
-                            to="${PACKAGE_TOP_DIR}bin/${OUTPUT_BASENAME}"
-                            from="${OUTPUT_PATH}"
-                            perm="755"
-                            owner="root"
-                            group="bin"/>
-        </packFileList>
-      </packaging>
-      <folder path="TestFiles/f1">
-        <linkerTool>
-          <output>${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/f1</output>
-        </linkerTool>
-      </folder>
-      <folder path="TestFiles/f3">
-        <linkerTool>
-          <output>${CND_DISTDIR}/${CND_CONF}/${CND_PLATFORM}/f2</output>
-        </linkerTool>
-      </folder>
-    </conf>
-  </confs>
-</configurationDescriptor>
diff --git a/netbeans/nbproject/project.xml b/netbeans/nbproject/project.xml
deleted file mode 100644
index 0b343d0..0000000
--- a/netbeans/nbproject/project.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://www.netbeans.org/ns/project/1">
-    <type>org.netbeans.modules.cnd.makeproject</type>
-    <configuration>
-        <data xmlns="http://www.netbeans.org/ns/make-project/1">
-            <name>scpi_parser</name>
-            <c-extensions>c</c-extensions>
-            <cpp-extensions/>
-            <header-extensions>h</header-extensions>
-            <sourceEncoding>UTF-8</sourceEncoding>
-            <make-dep-projects/>
-            <sourceRootList/>
-            <confList>
-                <confElem>
-                    <name>Debug</name>
-                    <type>1</type>
-                </confElem>
-                <confElem>
-                    <name>Release</name>
-                    <type>1</type>
-                </confElem>
-            </confList>
-        </data>
-    </configuration>
-</project>

--
Gitblit v1.9.1