Create two separate executables, emu8051-cli (default) and emu8051-gtk
[emu8051.git] / src / Makefile.am
index 1c8beaf..40d1acb 100644 (file)
@@ -5,25 +5,54 @@ INCLUDES = \
        -I$(top_srcdir)/pixmaps \
        $(GTK_CFLAGS)
 
-bin_PROGRAMS = emu8051
+bin_PROGRAMS = emu8051-cli
 
-# instructions_8051.c must be first, because it and other files (instructions_8051.h and
-# disasm.h) are automatically generated by a perl script, and other source files include
-# them (the .h).
-emu8051_SOURCES = instructions_8051.c options.c hexfile.c cpu8051.c memory.c
+# instructions_8051.c must be first, because it and other files
+# (instructions_8051.h and disasm.h) are automatically generated by a perl
+# script, and other source files include them (the .h).
+common_SOURCES = \
+       instructions_8051.c \
+       options.c \
+       options.h \
+       hexfile.c \
+       hexfile.h \
+       cpu8051.c \
+       cpu8051.h \
+       memory.c \
+       memory.h \
+       common.h \
+       reg8051.h
 
 if USE_GTK
-  emu8051_SOURCES += emugtk.c memwin.c pgmwin.c regwin.c filemenu.c viewmenu.c helpmenu.c messagebox.c
-  emu8051_LDADD = $(GTK_LIBS)
-else
-  emu8051_SOURCES += emuconsole.c keyboard.c
+  bin_PROGRAMS += emu8051-gtk
+
+  emu8051_gtk_SOURCES = \
+       $(common_SOURCES) \
+       emugtk.c \
+       emugtk.h \
+       memwin.c \
+       memwin.h \
+       pgmwin.c \
+       pgmwin.h \
+       regwin.c \
+       regwin.h \
+       filemenu.c \
+       filemenu.h \
+       viewmenu.c \
+       viewmenu.h \
+       helpmenu.c \
+       helpmenu.h \
+       messagebox.c \
+       messagebox.h \
+       gtksizes.h
+  emu8051_gtk_LDADD = $(GTK_LIBS)
 endif
 
-# These headers will be included in the distribution tarball, but will not be
-# installed by 'make install'
-noinst_HEADERS = common.h emugtk.h memwin.h pgmwin.h regwin.h filemenu.h viewmenu.h helpmenu.h \
-                 messagebox.h options.h hexfile.h cpu8051.h memory.h reg8051.h gtksizes.h \
-                 keyboard.h
+emu8051_cli_SOURCES = \
+       $(common_SOURCES) \
+       emuconsole.c \
+       keyboard.c \
+       keyboard.h
 
 # These files are generated automatically by a perl script.
 instructions_8051.c instructions_8051.h disasm.h : opcode2c.pl opcodes.lst
@@ -33,6 +62,14 @@ CLEANFILES     = *~
 
 DISTCLEANFILES = .deps/*.P
 
-MAINTAINERCLEANFILES = Makefile.in instructions_8051.c instructions_8051.h disasm.h
+MAINTAINERCLEANFILES = \
+       Makefile.in \
+       instructions_8051.c \
+       instructions_8051.h \
+       disasm.h
 
-EXTRA_DIST = opcode2c.pl opcodes.lst instructions_8051.h disasm.h
+EXTRA_DIST = \
+       opcode2c.pl \
+       opcodes.lst \
+       instructions_8051.h \
+       disasm.h