summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authornima <nima@abc39116-655e-4be6-ad55-d661dc543056>2008-12-19 04:07:06 +0000
committernima <nima@abc39116-655e-4be6-ad55-d661dc543056>2008-12-19 04:07:06 +0000
commit6249a27ea72b83726975bfa6771b226f325c1a95 (patch)
tree5c8111b1bccd25848d425aa6e6d05265ca2ff24a /Makefile
parente620d0a9d88875c425741ad2d40579e61cdd15b0 (diff)
downloadpython-dmidecode-6249a27ea72b83726975bfa6771b226f325c1a95.tar.gz
python-dmidecode-6249a27ea72b83726975bfa6771b226f325c1a95.tar.xz
python-dmidecode-6249a27ea72b83726975bfa6771b226f325c1a95.zip
Further work in enforcing the Debian policy in package based on advice from
`POX' and the documentation. git-svn-id: svn://svn.autonomy.net.au/python-dmidecode@119 abc39116-655e-4be6-ad55-d661dc543056
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile74
1 files changed, 74 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..6c1a572
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,74 @@
+#.
+#. DMI Decode Python Module
+#.
+#. (C) 2008 Nima Talebi <nima@it.net.au>
+#.
+#. Licensed under the GNU Public License v3
+#.
+
+PY := $(shell python -V 2>&1 |sed -e 's/.\(ython\) \(2\.[0-9]\)\..*/p\1\2/')
+PY_VER := $(subst python,,$(PY))
+
+CC := gcc
+RM := rm -f
+SRC_D := src
+OBJ_D := lib
+CFLAGS = -g -D_XOPEN_SOURCE=600
+CFLAGS += -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-align
+CFLAGS += -Wwrite-strings -Wmissing-prototypes -Winline -Wundef #-Wcast-qual
+CFLAGS += -pthread -fno-strict-aliasing -DNDEBUG -fPIC
+CFLAGS += -I/usr/include/$(PY)
+CFLAGS += -O3
+#CFLAGS += -DNDEBUG
+#CFLAGS += -DBIGENDIAN
+#CFLAGS += -DALIGNMENT_WORKAROUND
+#LDFLAGS = -lefence
+LDFLAGS =
+SOFLAGS = -pthread -shared -L/home/nima/dev-room/projects/dmidecode -lutil
+SO = build/lib.linux-$(shell uname -m)-$(PY_VER)/dmidecode.so
+
+#. Search
+vpath %.o $(OBJ_D)
+vpath %.c $(SRC_D)
+vpath %.h $(SRC_D)
+vpath % $(OBJ_D)
+
+###############################################################################
+build: dmidecode.so
+dmidecode.so: $(SO)
+ cp $< $(PY)-$@
+
+$(SO):
+ $(PY) src/setup.py build
+
+###############################################################################
+libdmidecode.so: dmihelper.o util.o dmioem.o dmidecode.o dmidecodemodule.o
+ $(CC) $(LDFLAGS) $(SOFLAGS) $^ -o $@
+
+$(OBJ_D)/dmidecodemodule.o: dmidecodemodule.c
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+$(OBJ_D)/dmidecode.o: dmidecode.c version.h types.h util.h config.h dmidecode.h dmioem.h
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+$(OBJ_D)/dmihelper.o: dmihelper.c dmihelper.h
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+$(OBJ_D)/util.o: util.c types.h util.h config.h
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+$(OBJ_D)/dmioem.o: dmioem.c types.h dmidecode.h dmioem.h
+ $(CC) $(CFLAGS) -c -o $@ $<
+
+
+
+###############################################################################
+uninstall:
+ rm -f $(SO)
+
+clean :
+ $(PY) src/setup.py clean
+ -$(RM) *.so lib/*.o core
+ -rm -rf build
+
+.PHONY: install clean uninstall module build