+
+WORKDIR /opt/submgr
+
+RUN mkdir pkg
+
+#
+#
+#
+ENV CFLAGS="-DASN_DISABLE_OER_SUPPORT"
+ENV CGO_CFLAGS="-DASN_DISABLE_OER_SUPPORT"
+
+COPY 3rdparty 3rdparty
+RUN cd 3rdparty/libe2ap && \
+ gcc -c ${CFLAGS} -I. -fPIC *.c && \
+ gcc *.o -shared -o libe2ap.so && \
+ cp libe2ap.so /usr/local/lib/ && \
+ cp *.h /usr/local/include/ && \
+ ldconfig
+
+COPY e2ap e2ap
+RUN cd e2ap/libe2ap_wrapper && \
+ gcc -c ${CFLAGS} -fPIC *.c && \
+ gcc *.o -shared -o libe2ap_wrapper.so && \
+ cp libe2ap_wrapper.so /usr/local/lib/ && \
+ cp *.h /usr/local/include/ && \
+ ldconfig
+
+# unittest
+RUN cd e2ap && /usr/local/go/bin/go test -v ./pkg/conv
+RUN cd e2ap && /usr/local/go/bin/go test -v ./pkg/e2ap_wrapper
+
+# test formating (not important)
+RUN cd e2ap && test -z "$(/usr/local/go/bin/gofmt -l pkg/conv/*.go)"
+RUN cd e2ap && test -z "$(/usr/local/go/bin/gofmt -l pkg/e2ap_wrapper/*.go)"
+RUN cd e2ap && test -z "$(/usr/local/go/bin/gofmt -l pkg/e2ap/*.go)"
+RUN cd e2ap && test -z "$(/usr/local/go/bin/gofmt -l pkg/e2ap/e2ap_tests/*.go)"
+
+#
+#
+#
+COPY go.mod go.mod
+COPY go.sum go.sum
+
+RUN /usr/local/go/bin/go mod download
+
+#
+#
+#
+COPY api api
+